vue中的scope使用详解

网友投稿 582 2023-03-22


vue中的scope使用详解

我们都知道vue slot插槽可以传递任何属性或html元素,但是在调用组件的页面中我们可以使用 template scope="props"来获取插槽上的属性值,获取到的值是一个对象。

注意:scope="它可以取任意字符串";

上面已经说了 scope获取到的是一个对象,是什么意思呢?我们先来看一个简单的demo就可以明白了~

如下模板页面:

姓名:{{scope.row.name}}

年龄: {{scope.row.age}}

性别: {{scope.row.sex}}

索引:{{scope.$index}}

js 代码如下:

Vue.component('tb-list', {

template: http://'#tb-list',

props: {

data: {

type: Array,

required: true

}

},

data() {

return {

}

},

beforeMount() {

},

mounted() {

},

methods: {

}

});

上面代码我们注册了一个叫 tb-list 这么一个组件,然后给 tb-list 传递了一个data属性值;该值是一个数组,如下值:

data: [

{

name: 'kongzhi1',

age: '29',

sex: 'man'

},

{

name: 'kongzhi2',

age: '30',

sex: 'woman'

}

]

tb-list组件模板页面是如下:

遍历data属性值,然后使用slot来接收 tb-list组件中的任何内容;其内容如下:

姓名:{{scope.row.name}}

年龄: {{scope.row.age}}

性别: {{scope.row.sex}}

索引:{{scope.$index}}

最后在模板上使用scope来接收slot中的属性;因此scope的值是如下一个对象:

{"row":{"name":"kongzhi1","age":"29","sex":"man"},"$index":0}

因为遍历了二次,因此还有一个是如下对象;

{"row":{"name":"kongzhi2","age":"30","sex":"woman"},"$index":1}

从上面返回的scope属性值我们可以看到,scope返回的值是slot标签上返回的所有属性值,并且是一个对象的形式保存起来,该slot有两个属性,cZYhTM一个是row,另一个是$index, 因此返回 {"row": item, "$index": "index索引"}; 其中item就是data里面的一个个对象。

最后页面被渲染成如下页面;

查看页面效果;

总结

以上所述是给大家介绍的vue中的scope使用详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 基础详解(泛型、集合、IO、反射)
下一篇:java 文件上传(单文件与多文件)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~