Vuejs无效的v-for表达式,因为数组元素不存在?

时间:2017-07-06 15:09:10

标签: vue.js vuejs2

因此存在Error compiling template错误。

虽然Vue试图访问不存在的数组元素。这是下面代码中的recommendationResponse[recommendedItems]

确切的错误是Invalid v-for expression: recommendedResponse [recommendedItems] as item`

我认为该部分不会被渲染,因为v-if在初始化时会失败。尽管如此,我认为我没有做足够好的检查是否存在该数组元素。

代码是:

<div v-if="recommendationResponse" class="row">
        <h2>Response</h2>
        <div class="well">
            {{ recommendationResponse }}
        </div>
        <div v-for="recommendationResponse[recommendedItems] as item" class="col-md-4">
            <h4>{{ item['items'][0]['id'] }}</h4>
            <p>{{ item['items'][0]['name'] }}</p>
        </div>
    </div>

Vue实例

new Vue({
    el: '#app',
    data: {
        recommendationResponse: ''
    },
    methods: {
        getRecommendations: function(event) {
            this.recommendationResponse = json data I get from somewhere                
        }
    },

1 个答案:

答案 0 :(得分:0)

试试这个

startupResponse [recommendedItems]中的v-for =“(item,key)”

VueJs v-for这样的作品,而不是写“as”,我们必须写“in”