局部注册: 在组件实例中通过选项对象注册,只在所注册的作⽤域中使⽤ { components:{ 组件名:选项对象 } }4--组件间通信:⽗组件要给⼦组件传递数据,⼦组件需要将它内部发⽣的事情告知给⽗组件。⽗组件->⼦组件:
组件实例的作⽤域是孤⽴的,不能在⼦组件直接⽤⽗组件的数据。 ⽗组件向⼦组件传递数据时,可以在组件上使⽤⾃定义属性绑定数据,在组件中需要显⽰的⽤props声明⾃定义属性。⼦组件->⽗组件:
⼦组件向⽗组件传递数据时,需要⽤到⾃定义事件,⽗组件⽤$on监听⾃定义事件,$emit触发⽗组件所关⼼的⾃定义事件。⽗组件⽤v-on⽤来监听⼦组件的
事件是否触发了来作出相应的处理。
ps:⽗组件通过props向下传递数据给⼦组件,⼦组件通过events给⽗组件传递消息。⽗组件通过⾃定义属性向⼦组件传递时,需要显⽰声明props:[\"attrName\"]。
⼦组件通过$emit(event,[...args])⽅法触发当前实例上的事件,把事件沿着作⽤域链向上传递,直到⽗组件接收到该事件作出相应反应。 5—组件中的data必须是函数
每个组件是相互独⽴的,如果它们共⽤⼀个对象,在更改⼀个组件数据的时候,会影响其他组件。如果是函数的话,每个组件都会有⾃⼰独⽴的数据,相互之间不会影响。6—受的元素DOM模板解析:
vue是在浏览器解析和标准化html后才获取模板内容,所以有些元素了能被它包裹的元素。如ul⾥只能放li 某些元素中放⼊了⾃定义属性,不符合W3C标准,会解析错误。
变通的⽅式:使⽤特殊属性is来扩展HTML标签功能。
核⼼代码:
结果:
licecap使⽤还是失败啊,继续努⼒。。。。。。原来是⾃⼰屏幕放⼤的原因啊。。。