是否可以Vue将整个data对象作为道具传递?
例如
Vue.component('comp', {
props: ['allData'],
template: '<div>{{allData.msg}}</div>'
})
new Vue({
el: "#test",
data: {
msg: "Hello"
}
})
Run Code Online (Sandbox Code Playgroud)
在我看来:
<div id="test">
<comp :allData="data"></comp>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 4
可能是这样的:
<div id="test">
<comp :allData="$data"></comp>
</div>
Run Code Online (Sandbox Code Playgroud)
然而,allData组件中的变化会影响父组件的状态,因为它是一个对象。请参阅下面的Vue 1.0 文档中的警告:
请注意,如果传递的 prop 是对象或数组,则它是通过引用传递的。无论您使用的绑定类型如何,在子级内部改变对象或数组本身都会影响父级状态。
请注意,JavaScript 中的对象和数组是通过引用传递的,因此如果 prop 是数组或对象,则在子级内部改变对象或数组本身将影响父级状态。