实现todolist时自己注册组件时,怎么区分

来源:3-1 Vue实例

微虻

2019-03-19

我的问题是,自己注册的组件,像是v-on:click还有{{congtent}}会写在script部分的template里,但是像是v-for、v-on:delete等就会写在上面<todo-list>标签,这是怎么区分的,哪些应该写上面,哪些应该写下面?
PS:如下只贴了相关部分的代码,谢谢老师~

<div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="subClick">提交</button>
        <ul>
            **<todo-list v-for="(item,index) of list" v-bind:key="index" v-bind:content="item" v-bind:index="index" v-on:delete="deleteLi"></todo-list>**
        </ul>
    </div>

    <script>
        var todoList={
            props:["content","index"],
            template:"**<li v-on:click='deleteClick'>{{content}}</li>**",
            methods:{
                deleteClick:function(){
                    this.$emit("delete",this.index);
                }
            }
        }
写回答

2回答

六一888

2019-03-19

写在上面的是在处理父组件的代码逻辑,而写在下面是在处理子组件的代码逻辑。
上面的属于 #app 的区域都是由根组件来接管,<todo-list> 这个子组件在 #app 这个区域中,所以可以直接和根组件进行数据的沟通,而写在 JS 中的 template 模版中的代码就是由子组件负责管理的

2
1
微虻
非常感谢!
2019-03-20
共1条回复

Dell

2019-03-19

同学,我觉得你还没有深入的理解组件的概念,你可以继续跟着写,多些几遍,我想第三遍的时候,你绝对都懂了

0
1
微虻
好的,一边跟着视频敲一边回看官方文档~
2019-03-20
共1条回复

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10733 学习 · 8206 问题

查看课程