带有KnockoutJS ListView问题的jQuery Mobile

时间:2013-03-29 12:12:35

标签: jquery-mobile knockout.js

这个我正在尝试的例子,listview最终看起来并不好看,

任何人都可以建议我做错了什么。这种情况特别发生在data-inset = true。

http://jsfiddle.net/xQ9Uu/1/

如果我这样设置,那么它可以,但它不是真正的列表。

<ul id="alarmslist" data-bind="foreach: days" data-role="listview">

使data-inset为true会破坏设计。

 <ul id="alarmslist" data-bind="foreach: days" 
data-inset="true" data-role="listview">

提前致谢。

1 个答案:

答案 0 :(得分:8)

更新后刷新列表视图可以解决您的问题。为此,您可以使用自定义绑定:

ko.bindingHandlers.jqmRefreshList = {
    update: function (element, valueAccessor) {
        ko.utils.unwrapObservable(valueAccessor()); // make this update fire each time the array is updated.
        $(element).listview("refresh")
    }
};

在HTML中:

<ul id="alarmslist" data-bind="foreach: days, jqmRefreshList: days" data-inset="true" data-role="listview">

这是工作小提琴:http://jsfiddle.net/xQ9Uu/44/