在我的项目中,我有一个只能在填写某些字段时提交的表单,因此我在ViewModel中创建了canSubmit函数:

var vm = new Vue({
    data: {
        experiments: [],
        genes: ""
    },
    el: "html",
    computed: {
        canSubmit: function () {
            switch (this.searchType) {
                case "":
                    return false;
                case "gene":
                    return this.genes.length > 0 && this.experiments.length > 0;
                default:
                    return false;
            }
        }
    }
});

我还具有一个按钮,如果canSubmit返回true,我想显示该按钮,以及一些更改数据模型的<inputs>:
<textarea v-model="genes" name="genes" id="gene_list"></textarea>
<select v-model="experiments" name="experiments" multiple id="select_result_exps">
   <!--Various <options>-->
</select>
<button name="query" v-if="canSubmit" value="search" type="submit"">Submit</button>

因此,当我更改textarea或select时,我的模型将更新,这意味着canSubmit返回true。但是,该按钮不知道canSubmit已更改,因此保持不可见。

有没有一种方法可以监视派生的属性或方法以使其正常工作?另外,我可以强制按钮重新检查其绑定(bind)吗?

最佳答案

在最新的0.11版本中可以正常使用!

关于javascript - 观看VueJS中的计算属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26111766/

10-10 00:43