【问题标题】:Conditional v-bind:check in vuejs有条件的 v-bind:签入 vuejs
【发布时间】:2016-12-14 23:14:57
【问题描述】:

我想根据数据库中特定数据的存在来检查我的复选框。我在 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 &gt; 0 则我想返回 true 并因此选中复选框。但即使response.data.length 大于0,我似乎也无法获得返回布尔值的方法,你能帮帮我吗?

【问题讨论】:

    标签: laravel-5.2 vue.js


    【解决方案1】:

    我认为这不会成功,因为调用是异步的。您应该尝试将复选框的状态绑定到一个变量,并将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

    【讨论】:

      猜你喜欢
      • 2019-12-31
      • 2021-02-21
      • 1970-01-01
      • 2017-02-02
      • 2018-07-05
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多