Vue材质-数据获取中的MdTable初始化错误

时间:2018-07-24 15:32:39

标签: javascript vue.js vue-material

正如我所说的here,我试图获取远程数据以初始化MdTable组件,但是该过程引发了null错误。从 MySQL 数据库获取的数据,该数据库是 Laravel 5.6 API项目的一部分。

经过深入分析,我认为问题是由组件本身的过早初始化导致的,该过程在获取过程完成之前。因此,用于管理组件数据的模型导致空白,并且渲染崩溃。

我尝试了不同的方法:导航由 Vue-Router 管理,因此Before/After Navigation data fetching两种技术都经过测试,结果是相同的。为了避免出现问题,使用父组件的props以及定义组件的导航保护似乎没有用。

我认为解决方案可能是保留组件渲染,直到获取数据为止。但是我真的不知道怎么做。我也尝试过beforeCreate()/created(),但没有一个帮助。

在这种情况下我被困了很多天,真的很感谢一些帮助或建议以尝试新的方向。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

As I stated here,由于我的实现中出现语法错误:

[...]
<md-table-cell v-for="(val, i) in item" :key="val.id" v-if="(i !== 'id') && (i !== 
'estensione_garanzia') && (i !== 'note')"
[...]

属性:key="val.id"配置错误。在这种情况下,我要迭代对象的数组-不嵌套它们-因此所选元素上没有子属性id。有关更多信息,official doc显示了完整的示例

通过这样更改属性:

:key="val.id"

一切正常。