如何确保在填充组件的 props 之前在 VM 上更新绑定
How can I ensure a bind is updated on the VM before a component's props get populated
所以我有一个数据 属性 是从我的虚拟机上的一个字段填充的
var vm = new Vue{
data: {
somevalue: null,
},
}
此值绑定到加载时预填充的字段:
<input v-model:somevalue="1" />
然后我使用这个值并将它作为 prop 传递给组件。在那个组件中,我有一个调用一次的函数,它使用这个值。
<some-component v-bind:propofsomevalue="somevalue"></some-component>
...
//the innards of the component
prop: ["propofsomevalue"]
ready: function(){
//Does something with this.propofsomevalue
}
问题出在 ready/compile/attached 等方面,基础 vm.somevalue 尚未更新,因此该道具直到生命周期后期才会更新。因此,无论何时运行,propofsomevalue 都是空的。插入道具后如何执行此功能。
如果我直接传递一个值而不是使用绑定,它会起作用。
<some-component v-bind:propofsomevalue="1"></some-component>
它有效,但问题是这个值不是静态的并且由 asp 服务器端动态填充。
非常感谢!
你不能在 prop 上放一个 "watch" 并在值更改为 null 以外的值后执行操作吗?
所以我有一个数据 属性 是从我的虚拟机上的一个字段填充的
var vm = new Vue{
data: {
somevalue: null,
},
}
此值绑定到加载时预填充的字段:
<input v-model:somevalue="1" />
然后我使用这个值并将它作为 prop 传递给组件。在那个组件中,我有一个调用一次的函数,它使用这个值。
<some-component v-bind:propofsomevalue="somevalue"></some-component>
...
//the innards of the component
prop: ["propofsomevalue"]
ready: function(){
//Does something with this.propofsomevalue
}
问题出在 ready/compile/attached 等方面,基础 vm.somevalue 尚未更新,因此该道具直到生命周期后期才会更新。因此,无论何时运行,propofsomevalue 都是空的。插入道具后如何执行此功能。
如果我直接传递一个值而不是使用绑定,它会起作用。
<some-component v-bind:propofsomevalue="1"></some-component>
它有效,但问题是这个值不是静态的并且由 asp 服务器端动态填充。
非常感谢!
你不能在 prop 上放一个 "watch" 并在值更改为 null 以外的值后执行操作吗?