2016-08-09 24 views
0

データベース内の特定のデータの存在に応じてチェックボックスをオンにしたいと考えています。私はlaravelで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.length0より大きい場合でも、ブール値を返すメソッドを取得することができないようです。

答えて

0

コールが非同期であるため、これはうまくいかないと思います。 AJAX機能のコールバックで、その後、

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

そして:あなたは、変数の横にあるチェックボックスの状態をバインドしようとすると、v-modelチェックボックスをそれまでのようにする必要があり

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

必要になりますcomplaintIDをAJAX関数(コンポーネントと小道具を使用していますか?)に渡す別の方法を見つけるなど、いくつかの問題を解決する必要があります。これを確認してください:https://vuejs.org/guide/forms.html#Checkbox