vue.js组件的作用域是独立,可以从以下三个方面理解:
1、父组件模板在父组件作用域内编译,父组件模板的数据用父组件内data数据;
2、子组件模板在子组件作用域内编译,子组件模板的数据用子组件内data数据,如果要用父组件的必须用props传递;
3、子组件标签的数据,使用父组件内的data数据
案例代码:
1
2
3
4
5
6
7
8
9
|
< div id="demo"> < my-component v-if="show" v-bind:my-message="message"> < h2 v-if="show">{{message}}</ h2 > </ my-component > </ div > < template id="child-component"> < h1 >{{message}} {{myMessage}}</ h1 > < slot v-if="show">this is slot</ slot > </ template > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var vm = new Vue({ el : "#demo" , data : { message : "vue" , show : true }, components : { "my-component" : { template : "#child-component" , props : [ "myMessage" ], data : function (){ return { message : "vue1" , show : true } } } } }); |
原文:https://www.cnblogs.com/Free-Thinker/p/10750215.html