加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vue中的scope使用详解

发布时间:2020-12-17 02:44:33 所属栏目:百科 来源:网络整理
导读:我们都知道vue slot插槽可以传递任何属性或html元素,但是在调用组件的页面中我们可以使用 template scope="props" 来获取插槽上的属性值,获取到的值是一个对象。 注意:scope="它可以取任意字符串"; 上面已经说了 scope获取到的是一个对象,是什么意思呢?

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

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

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

如下模板页面:

Vue-scope的理解
姓名:{{scope.row.name}}

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

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

索引:{{scope.$index}}

js 代码如下:

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

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

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

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

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

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

    索引:{{scope.$index}}

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

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

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

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

    总结

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

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读