javascript - vue.js,我想把自定义组件里面的函数写到methods里面,但不成功
迷茫
迷茫 2017-04-11 10:24:46
[JavaScript讨论组]

我把文档里面的案例改了,想把自定义组件里面的函数写到methods里面,但是不成功。文档上的案例做出来的效果是往输入窗口里面输入文本,回车后文本添加到列表,窗口里面的文本清空,点击列表里面的文本后面的按钮,列文本删除。我改了之后就只剩下个输入框了。。。。。
谢谢。

<script src="vue.js"></script>

<p id="app">
    <input type="text" v-model="newText" v-on:keyup.enter="addText" placeholder="add text"/>
    <hr/>
    <ol>

        <todoli v-for="(item,xindex) in words" v-bind:word="item" v-bind:index="xindex"></todoli>
        <!-- 
            文档里面的todoli是这样写的
        <todoli v-for="(item,index) in words" v-bind:word="item" v-on:remove="words.splice(index,1)"></todoli>

         -->
    </ol>
</p>

<script>
    Vue.component('todoli',{
            props:['word','index'],
            template:'<li>{{word}}<button v-on:click="remove">X</button></li>'
            /*
            文档里面的组件是这样写的
            props:['word'],
            template:'<li>{{word}}<button v-on:click="$emit(\'remove\')">X</button></li>'
            */
    })
    var app=new Vue({
        el:"#app",
        data:{
            newText:'',
            words:[
                'Do the dishes',
                'Take out the trash',
                'Mow the lawn'
            ]
        },
        methods:{
            addText:function(){
                this.words.push(this.newText),
                this.newText=""
            },
            //原本文档里面没有这个
            remove:function(){
                this.words.splice(this.index,1)
            }
        }
    })
</script>
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
阿神

你的 remove 绑定在 todoli组件中,而你的methods是定义在todoli的父组件中

把 remove 定义在 todoli 组件中
https://jsfiddle.net/ycloud/c...

PHP中文网

都报错了当然只剩下个输入框!
remove的方法应该写在下面:

Vue.component('todoli',{
    props:['word','index'],
    template:'<li>{{word}}<button v-on:click="remove">X</button></li>'
    methods:{
        remove(){...}
    }
})
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号