我正在尝试根据 div 的用户数显示一个 div。如果 div 包含超过 x 个用户,则在用户上方显示 div,否则不显示。我正在通过 foreach 循环显示用户。
看法:
<div class="collapse in" data-bind="template: { name: 'list', foreach: $data.Users }">
</div>
<script type="text/html" id="list">
<!-- ko if: ShowLetter -->
<div id="letter" data-bind=" text: Letter"></div>
<!-- /ko -->
</script>
在我看来,我也试过这个:
<div id="letter" data-bind="visible:ShowLetter, text: Letter"></div>
但是当我渲染页面时,要么我没有收到任何字母,要么这些字母会显示给一组小于 x 数的用户。我的结果显示三组,第一组只有 1 个用户,不应该显示字母 - 第二组有 2 个用户,也不应该显示字母,第三组有 30 个用户,应该显示字母。
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 > properties.RoleUser);
});
};
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([]);
};
我怎样才能让我的视图在 foreach 中循环的每个组中正常运行?