vue组件:一些知识点的记录vue
1. 全局组件web
<aaa></aaa> var Aaa=Vue.extend({ template:'<h3>我是标题3</h3>' }); Vue.component('aaa',Aaa);
*组件里面放数据: data必须是函数的形式,函数必须返回一个对象(json)chrome
2. 局部组件:放到某个组件内部json
var vm=new Vue({ el:'#box', data:{ bSign:true }, components:{ //局部组件 aaa:Aaa } });
另外一种编写方式:函数
Vue.component('my-aaa',{ template:'<strong>好</strong>' }); var vm=new Vue({ el:'#box', components:{ 'my-aaa':{ template:'<h2>标题2</h2>' } } });
配合模板:工具
1. template:'<h2 @click="change">标题2->{{msg}}</h2>' 2. 单独放到某个地方-[推荐] a). <script type="x-template" id="aaa"> <h2 @click="change">标题2->{{msg}}</h2> </script> b). <template id="aaa"> <h1>标题1</h1> <ul> <li v-for="val in arr"> {{val}} </li> </ul> </template>
动态组件:google
<component :is="组件名称"></component>
vue-devtools -> 调试工具spa
https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd
vue默认状况下,子组件也无法访问父组件数据调试
组件数据传递: √code
1. 子组件就想获取父组件data
在调用子组件: <bbb :m="数据"></bbb> 子组件以内: props:['m','myMsg'] props:{ 'm':String, 'myMsg':Number }
2. 父级获取子级数据
*子组件把本身的数据,发送到父级
vm.$emit(事件名,数据); v-on: @
vm.$dispatch(事件名,数据) 子级向父级发送数据 vm.$broadcast(事件名,数据) 父级向子级广播数据 配合: event:{} 在vue2.0里面已经,报废了
slot:
位置、槽口 做用: 占个位置
相似ng里面 transclude (指令)