簡體   English   中英

正確使用data-bind visible屬性

[英]Properly using the data-bind visible property

我有一個視圖,根據類型顯示不同類別的foreach循環數據。 每個類別將包含許多用戶 - 我創建了一個對象,該對象將檢查一個類別中的用戶數是否超過10,然后將顯示可見綁定的文本。 對於不超過10的類別,它不會顯示文本。

我的問題:如果第一個類別沒有10,那么它不顯示文本是否意味着它不會顯示其余類別的文本?

幫助 :即使類別包含10個以上並且不確定原因,可見綁定也不起作用。

這是我的JSFiddle: http//jsfiddle.net/xNdJk/1/

JavaScript的:

var userViewModel = function (data) {
        var _self = this;
        _self.Name = ko.observable(data.Name);
        _self.Letter = ko.observable(data.Letter);
        _self.ShowLetter = ko.computed(function () {
            return (roleViewModel.UserCount > 13);
        });
    };

var typeViewModel = function (data) {
        var _self = this;
        _self.ContentType = ko.observable(data.ContentType);
        _self.Name = ko.observable(data.Name);
        _self.Rank = ko.observable(data.Rank);
        _self.UserCount = ko.observable(data.UserCount);
        _self.Users = ko.observableArray([]);
    };

視圖:

<div class="collapse in" data-bind="template: { name: 'list', foreach: $data.Users }">

</div>
<div id="letter" data-bind="visible:ShowLetter, text: Letter"></div>

您正在混合類和實例,您已經創建了一個secondModel類,但是您從未實例化它,這是一個工作示例

http://jsfiddle.net/xNdJk/2/

var viewModel = function(){        
    this.Letter = ko.observable('Hello, World!');
    this.secondModel = new secondModel();

    this.shouldShowMessage = ko.computed(function() {
        return (this.secondModel.UserCount() > 13);
    }, this);
}

var secondModel = function(){
    var self = this;
    self.UserCount = ko.observable(153);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM