vue学习笔记—vue组件

vue

1、组件个人理解:

 <组件>是页面的一部分,将界面切分成部分,每部分称为 <组件>

 

2、组件化思想:

         //2.1、定义一个全局的组件,组件支持‘驼峰命名’规则

 

    Vue.component("TodoItem",{

props: ['content'], //接收父组件传递过来的数据

template: "<li>{{content}}</li>"

})

循环遍历 list , 每一次遍历都把值给 item , item 再通过 v-bind 把值传递给 content ,

compoent 通过 props 获取传递过来的数据。

list 决定输出多少个 todo-item 组件

<ul>

<todo-item v-for="item in list" v-bind:content="item">

</todo-item>

</ul>

   //2.2、局部组件

局部组建的使用,需要注册到 vue 父组件模版中

var TodoItem = {

props:['content'],

template:"<li>{{content}}</li>"

}

var app = new Vue({

el:'#app',

components:{

TodoItem:TodoItem

},

data:{

list:[],

inputValue:''

},

methods:{

submit:function () {

this.list.push(this.inputValue);

this.inputValue = '';

}

}

});

 

  //2.3、父组件向子组件传值

 

    <todo-item v-for="item in list" v-bind:key="item"></todo-item>

    通过 v-bind 即可实现父组件向子组件传值,子组件只需要通过 props:['key'] 即可获取父组件传递的数据

 

      //2.4、子组件向父组件传值

 

1、父组件可以使用 props 把数据传给子组件。

2、子组件可以使用 $emit 触发父组件的自定义事件。

vm.$emit( event, arg ) //触发当前实例上的事件

vm.$on( event, fn );//监听event事件后运行 fn;

var TodoItem = {

props:['content','index'],

template:"<li @click='handleItemClick'>{{content}}</li>",

methods:{

handleItemClick: function(){

this.$emit("delete",this.index);//触发父组件 delete 绑定事件,index:为参数

}

}

}

var app = new Vue({

el:'#app',

components:{

TodoItem:TodoItem

},

data:{

list:[],

inputValue:''

},

methods:{

}

});

 

以上是 vue学习笔记—vue组件 的全部内容, 来源链接: utcz.com/z/377677.html

回到顶部