0

knockout.js 是否支持在没有视图模型的情况下绑定 bettwen html 元素,例如 Silverlight/Wpf 元素绑定?

示例:我有一个表单,我想根据一个字段(复选框)的值显示/隐藏字段。

有没有一种简单的方法可以让淘汰赛或纯javascript更直接?

我正在尝试实现一种基于数据属性的可重用方式,但它开始变得繁琐,我开始想知道淘汰赛是否是使其可重用的方法。

4

1 回答 1

1

没有 ViewModel 就无法做到这一点,但可以使用计算变量做到这一点:

//In your view model
this.showFormElement = ko.computed(function(){
    if(this.checkboxValueiswhatIwant()){
        return true;
    }
    return false;
}, this);

然后在你的html中:

<form [id, classes, etc..]>
    <input type="checkbox" data-bind="checked: checkboxValueiswhatIwant" />
    <input type="input" data-bind="visible: showFormElement" />
</form>

出于普遍的好奇,您如何在没有视图模型的情况下使用淘汰赛?

如果你以某种方式使用它,为什么?

于 2013-04-17T16:28:22.417 回答