- 什么是编译作用域?
各自组件在各自作用域里去找变量。
如app里的isshow变量是app模块里的,值为true
Button里的isshow是引入组件cpn里的,值为false,编译时候在cpn里编译;
-
如何解释作用域插槽
父组件替换插槽的标签,但是内容由子组件来提供。 -
代码案例
(需求:子组件中包括一些数据 pLanguage:['java','c++','python','go'],需要在次展示,但是每次展示的方式不一样。默认为li方式。如何修改默认方式。)
如下使用了插槽,但是如何在app里引用cpn组件时不用li来展示pLanguage里的内容?
此时,我们引入作用域插槽来解决这个问题,代码如下:
在子组件cpn里,我们通过 :data=’pLanguage’ 来把数据绑定到data里,在父组件里引入时, slot-scope=”slot” 表示用slot来代表cpn组件,在展示时就可以直接用slot.data取出子组件cpn里的数据信息。
最终结果为:
总的调用了3次cpn,第一次为默认的调用,第二次重新定义了展示方式为span,第三次也重新定义为span,只是采用了数组转字符串的函数join来处理。
网友评论