Vuejs学习笔记(二)-13.插槽作用域

一、什么是编译作用域

官方准则:父组件模板的所有内容都会在父级作用域内编辑,子组件模板所有内容会在子级作用域内编译。

举个例子,在父组件Vue实例内定义一个变量 isShow=true,在子组件内也定义一个变量isShow=false,现在在父组件模板内的子组件中使用使用isShow,那么现在用的是哪一个值?按照官方准则,在父组件模板中用的就是父组件Vue实例中的变量,所以isShow=true

代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4   <meta charset="UTF-8">
 5   <title>04 编译作用域</title>
 6 </head>
 7 <body>
 8 <div id="app">
 9   <h2>{{ message }}</h2>
10   <cpn1 v-show="isShow"></cpn1>
11 </div>
12 
13 <!--div id='app'中的isShow会去APP对应的VUE实例中查找-->
14 
15 <template id="cpn1">
16   <div v-show="isShow">
17     <h2>我是子组件1</h2>
18   </div>
19 </template>
20 <script src="../js/vue.js"></script>
21 <script>
22   const cpn1 = {
23     template: '#cpn1',
24     data(){
25       return {
26         isShow:false
27       }
28     }
29   }
30 
31   const app = new Vue({
32     el: '#app',
33     data: {
34       message: 'hello',
35       isShow: true
36     },
37     components: {
38       cpn1
39     }
40   })
41 </script>
42 </body>
43 </html>

 

界面如下:

子组件在界面显示

Vuejs学习笔记(二)-13.插槽作用域

 

 

 

上一篇:运维面试总结


下一篇:Vue-强制刷新