这个例子中,vue 中 inheritAttrs 为什么不起作用

问题描述

例子:来源 jsfiddle.net
这个例子中,vue 中 inheritAttrs 为什么不起作用。而vuejs官网所述:
默认情况下父作用域的不被认作 props 的特性绑定 (attribute bindings) 将会“回退”且作为普通的 HTML 特性应用在子组件的根元素上。当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置 inheritAttrs 到 false,这些默认行为将会被去掉。而通过 (同样是 2.4 新增的) 实例属性 $attrs 可以让这些特性生效,且可以通过 v-bind 显性的绑定到非根元素上。

问题出现的环境背景及自己尝试过哪些方法

我先加了inheritAttrs:false,当我把这个注释掉了,发现好像并没有什么影响,然后就不懂了。。

相关代码

来源 jsfiddle.net

你期待的结果是什么?实际看到的错误信息又是什么?

既然注释掉了,那应该出错才对,结果没有出错,想知道为什么会这样。难道我对vuejs官网介绍的语义理解错了??

阅读 2.9k
1 个回答

看不到楼主的例子,你应该想问为什么我通过$attrs 和 $listeners传递数据不设置inheritAttrs为false也可以, 设置了是为了你的数据安全, 防止用户可以在attribute中查看你传递的数据信息,虽然object不能查看到, 但是一些字符串数值信息是可以在里面查看到的,比如你想传递的信息是用户的账号信息,不可能这样暴露的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题