2016-03-04 69 views
1

我有數據:1,2,3,4,4,5 &我這樣的代碼:檢查中存在vuejs價值

<div id="looping" v-for="display in editlistAssesments"> 
    {{display.test_id}} 
</div> 

我的代碼,如果在PHP如這樣

$temp_id = array(); 
foreach($data as $data){ 
    if(in_array($data ->test_id,$temp_id)){ 
    echo" 1: no"; 
    echo" 2: no"; 
    echo" 3: no"; 
    echo" 4: yes"; //because he have same value 
    echo" 5: no"; 
    $temp_id[] = $data ->test_id; 
    } 
} 

我怎麼能做到這一點在循環vueJs ..?

+2

但在php中的數組開始爲空。我不太明白你在做什麼...... –

+0

你的數據在你的JS中是什麼樣的? – Cohars

回答

0

據我所知,你想檢查值是否在數組中,然後相應地渲染它?

如果是這樣,您需要一個Vue自定義過濾器。這樣的事情會做的伎倆:

var vm = new Vue({ 
    el: 'body', 

    data: { 
     editlistAssesments: [1,2,3,4,4,5] 
    }, 

    filters: { 
     ifInArray: function (value) { 
      return this.editlistAssesments.indexOf(value) > -1 ? 'Yes' : 'No'; 
     } 
    }, 
}); 

,然後用它是這樣的:

<div id="looping" v-for="display in editlistAssesments"> 
    <span v-text="display.test_id | ifInArray"></span> 
    <!-- bind Vue value to html element is better practice --> 
</div> 

檢查文檔的更多信息: http://vuejs.org/guide/custom-filter.html

+0

hy @Alliswell,謝謝 – b4dQuetions

0

沒有必要自定義過濾器。你可以很容易地做到這一點:

<div id="looping" v-for="display in editlistAssesments"> 
    <span v-if="display.test_id">{{display.test_id}}</span> 
</div> 

v-if將只呈現該數組中存在的項目。