【问题标题】:KnockoutJS sorting multidimensional ko.observableArrayKnockoutJS 排序多维 ko.observableArray
【发布时间】:2012-01-19 07:13:08
【问题描述】:

我真的很难对 ko.observableArray 进行排序。在过去的一个小时里,我一直在寻找解决方案,并且我非常确信我正在按部就班地做到这一点。

基本上,问题似乎来自元素数组在排序时实际上并不存在的事实。每个项目都由一个函数表示,我假设它允许 KnockoutJS 监听突变......但这对我没有多大帮助:)

Link to JSfiddle | http://jsfiddle.net/farina/W7HJP/

查看我的小提琴并单击排序链接。如您所见,您将获得一堆 NaN 值,而不是实际排序。

任何帮助将不胜感激!

【问题讨论】:

  • 当你删除 sort() 中的函数时,它有点排序
  • 嗯...是的,它对数组进行排序...如果它不是多维的,那就太好了。

标签: javascript jquery multidimensional-array knockout.js


【解决方案1】:

当你访问一个 observable 的值时,你需要将它作为一个零参数的函数来调用。

所以:

var myObservable = ko.observable("Bob");
myObservable("Ted"); //set the value to something else
alert(myObservable());  //read the current value "Ted"

所以,在你的排序中,你会这样做:

        this.sortItems = function () {
            this.incidents.sort(function (a, b) {
                return b.id() - a.id();
            });
        };

http://jsfiddle.net/rniemeyer/W7HJP/10/

【讨论】:

  • 非常好...我没有意识到我必须像处理函数一样处理它!它仍然不起作用,但这可能是我的排序逻辑。
猜你喜欢
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多