如果在淘汰视图页面中绑定语句

时间:2013-10-14 18:26:17

标签: javascript knockout.js

我有div显示一个字母,但我想根据以下条件添加if语句,以显示此div:

如果usersCount()> 3然后显示字母

<div class=" header" id="letter" data-bind="text: Letter">
   ....
</div>

我怎样才能添加if语句和text-expression语句?

data-bind="if: UserCount() > 13 then text:Letter"` ....??

var userViewModel = function (data) {
        var _self = this;
       _self.Letter = ko.observable(data.Letter);
    };

 var roleViewModel = function (data) {
        var _self = this;
        _self.UserCount = ko.observable(data.UserCount);
    };

1 个答案:

答案 0 :(得分:1)

查看Visible Binding。您需要在View Model中创建一个属性来处理隐藏/显示div的逻辑。这是一个JSFiddle来演示。

<div data-bind="visible: shouldShowMessage, text: Letter">
</div>
<script type="text/javascript">
    var viewModel = function(){
        var self = this;
        self.Letter = ko.observable('Hello, World!');
        self.UserCount = ko.computed(function() {
            return Math.floor((Math.random() * 20) + 1);
        });
        self.shouldShowMessage = ko.computed(function() {
            return (self.UserCount() > 13);
        });
     };
</script>