2016-08-09 34 views
0

我想根據數據庫中特定數據的存在來選中我的複選框。我在laravel使用vuejs。 以下是我的複選框代碼:有條件的v-bind:簽入vuejs

<input type="checkbox" value="{{$complaint->complaintID}}" :checked="CheckCECDecisionSigned({{$complaint->complaintID}})" disabled> 

而下面是我的vuejs方法:

methods: { 
     CheckCECDecisionSigned: function (complaintID) { 
      if (complaintID) { 
       var self = this; 
       this.$http.get('/cimsm/public/api/fetchCECDecisionSignature/' + complaintID).then(function (response) { 
        if (response.data.length > 0) { 
         return true; 
        } 
       }); 
      } 
     }, 

正如你所看到的,如果response.data.length > 0那麼我想返回true,因此有複選框選中。但我似乎無法得到返回布爾值的方法,即使response.data.length大於0你能幫我嗎?

回答

0

我不認爲這會奏效,因爲調用是異步的。你應該嘗試的複選框的狀態綁定到一個變量,v-model的複選框它,如:

<input type="checkbox" 
value="{{$complaint->complaintID}}" 
:v-model="isChecked" 
disabled> 

然後,在AJAX功能的回調:

if (response.data.length > 0) { 
    self.isChecked = true 
} 

你會需要解決一些問題,比如尋找另一種將complaintID傳遞給AJAX函數的方法(可能使用組件和道具?)。選中此項:https://vuejs.org/guide/forms.html#Checkbox