2017-07-06 62 views
0

所以有一個Error compiling template錯誤。Vuejs作爲數組元素的v-for表達式不存在?

看來儘管Vue試圖訪問一個不存在的數組元素。在下面的代碼中是recommendationResponse[recommendedItems]

確切的錯誤是Invalid v-for expression: recommendationResponse [recommendedItems如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     
     } 
    }, 
+4

它仍然需要解析模板,並且錯誤是明確的。這不是有效的v-for表達式。也許你想'recommendResponse ['recommendedItems']'中的項目? – Bert

+0

謝謝。這一個相當愚蠢的錯誤。請告知我是否應該刪除。 – surfer190

+0

由你決定。我認爲在這一點上不會有任何答案。我不時自己犯下愚蠢的錯誤。 – Bert

回答

0

嘗試這種

V-用於= 「(項目,密鑰)在recommendationResponse [recommendedItems]」

VueJs v-for這樣工作,而不是寫作「as」,我們必須寫入「in」

相關問題