是否可以执行以下操作?
export default {
props: ['parentArray'],
data () {
return {
computedArray: null
}
},
computed: {
computedResult: function () {
var flags = []
var output = []
var l = this.parentArray.length
var i
for (i = 0; i < l; i++) {
if (flags[this.parentArray[i].myitem]) continue
flags[this.parentArray[i].myitem] = true
var firstfilter = this.parentArray[i].myitem.replace('something', '')
output.push(firstfilter)
}
return output
}
},
mounted () {
this.computedArray = this.computedResult
}
当我尝试时,我的数组的结构使它成为数据元素,但没有数据(至少不在vue dev-tools中。计算出的数组正确显示在计算中)
答案 0 :(得分:0)
通常情况下,意外的结果是因为特定问题的逻辑之外的某些东西。在我的情况下,我的parentArray
来自一个axios调用,它是异步的,这意味着它直到组件安装后才到达,因此我的空数组。添加对已加载数据的检查(通过将数据项loaded
设置为false
,然后在我的axios响应中将其设置为true
,最后将v-if="loaded"
添加到我的组件中,使其正常工作如预期的那样。
所以上面问题的答案是肯定的,这是可能的(但是在安装之前确保你的父道具数据可用)。