基于属性的敲除中数组元素的可见绑定

时间:2016-12-16 13:36:00

标签: javascript html knockout.js

我有一个可观察的数组,它包含多个对象,每个对象都有一个名为display的布尔属性。

var markers = [];
var ViewModel = function() {
    var self = this;
    // Observable arrya
    self.dineList = ko.observableArray([]);
}
var viewModel = new ViewModel();
ko.options.useOnlyNativeEvents = true;
ko.applyBindings(viewModel);

// data is data from ajax request
function createMarker(data) {
    markers = [];

    data.forEach(function(data) {
        var marker = {
            title: 'abc',
            display: true,
            // and other properties
        }
        markers.push(marker);
    }
    viewModel.dinelist(markers);
}

我在页面上的列表中显示所有标记。

<ul data-bind="foreach: dineList">
    <li data-bind="text: $data.title"></li>
</ul>

最初所有元素都有display: true并且工作正常,但我希望根据特定条件切换display的值,并根据li项的display项的可见性进行切换{1}}财产。我可以切换display数组中所有元素的markers值,但不能切换dineList数组中的所有元素的值。

0 个答案:

没有答案