将服务器中的JSON数据加载到knockout.js observable中

时间:2016-05-15 10:45:40

标签: javascript html knockout.js

我正在尝试使用knockouts.js加载初始数据(来自本地JSON字符串),以便在加载页面后立即在UI中显示它。 我尝试了很多选项,但都失败了或产生了错误。

我最近的尝试是http://jsfiddle.net/z22m1798/17/(基于'Cart'示例)产生错误:
private void SecondsSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { this.SecondsLabel.Content = (int)this.SecondsSlider.Value; }

相关代码是:

TypeError: cartLine.filterValue is not a function

有人可能知道我在这里做错了什么? 这看起来像一个棘手的问题。
感谢

1 个答案:

答案 0 :(得分:0)

我发现解决它的方法(不确定它是最准确的方法)是通过从服务器接收整个 JSON,因此第一个单元格将包含我希望的过滤器显示。此外,服务器将发送一个参数“filtersToDisplay”,指示需要显示多少个过滤器。

默认情况下,filtersToDisplay = 1仅显示第一行。

http://jsfiddle.net/z22m1798/25/

 for (i = 0; i < $("#filtersToDisplay").val(); i++) { 
   self.lines.push(new CartLine(self.lines))// Put one line in by default
}

由于