我有一个vue组件,该组件调用load方法返回一个由多部分组成的json对象。该Vue的模板由几个子Vue组件组成,我在其中分配了:data =“ some_object”。
这适用于所有模板,但带有v-data-table的模板除外,因为v-for进程(或v-data-table的构建/渲染)似乎在“数据”之前启动属性已加载。
如果我对npm开发服务器进行了微妙的更改,则该项目会触发刷新数据表,然后按预期加载数据。
尝试了各种事件,以尝试将本地属性分配给通过“ props []”传递的属性。有趣的是,如果我进行虚拟的v-for迭代或仅访问data [...]属性,则后续的v-data-table加载。但是我需要基于同一行中的列绑定其他规则,这是行不通的。
父/主要Vue组件:
E
因此,在上面,:data属性是从下面的结果中为每个子组件分配的。
...
<v-flex xs6 class="my-2">
<ShipViaForm :data="freight"></ShipViaForm>
</v-flex>
<OrderHeaderForm :data="orderheader"></OrderHeaderForm>
<v-flex xs12>
<DetailsForm :data="orderdet" :onSubmit="submit"></DetailsForm>
</v-flex>
...
DetailsForm.vue
...
methods: {
load(id) {
API.getPickingDetails(id).then((result) => {
this.picking = result.picking;
this.freight = this.picking.freight;
this.orderheader = this.picking.orderheader;
this.orderdet = this.picking.orderdet;
});
},
...
答案 0 :(得分:1)
希望这会对其他看不见森林的人有所帮助...
当我以父级形式声明data(){...}属性时,我将orderdet初始化为{}而不是[]。