组件(4):使用槽进行内容分发
时间:2023-04-02 19:50:10
HTML
组件作用域(1)父组件模板的内容在父组件作用域内编译;子组件模板的内容是在子组件范围内编译的。父子组件相互独立编译,编译时只能使用各自作用域内的属性和方法。例如,您不能将指令绑定到父组件模板中子组件的属性或方法。如果这样做,控制台会报错,说属性没有定义。如果要绑定指令来控制子组件的行为,可以在子组件的模板中将指令绑定到子组件的属性或方法;或者将父组件模板中的指令绑定到父组件的属性或方法上。newVue({el:'#app-2',data:{makeChildShow:true},components:{"component-2-1":{template:'我是一个子组件。',data:function(){return{childIsShow:true}}},"component-2-2":{template:'我是一个子组件。',data:function(){return{childIsShow:true}}}}})- 绑定到子组件属性:
- 绑定到父组件属性:
- 将指令绑定到子组件模板中的子组件属性:
列表中的第一项,不会显示是因为父组件找不到属性childIsShow。内容分发默认将父组件的内容插入到子组件模板中的方式,我们称之为内容分发。默认情况下,子组件中插入的父组件的内容是不显示的。newVue({el:'#app-1',data:{message:'Icomefromparent.'},components:{"component-1":{template:'
我是一个子组件。
',}}})
{{message}} 。如果父组件没有内容要分派,则回退内容成为最终呈现的结果。newVue({el:'#app-3',components:{"component-3":{template:'\