javascript - 在knockoutjs中绑定(bind)JSON和表

标签 javascript json knockout.js

我如何将我的 json 对象与 knockoutjs 绑定(bind),这是我的 json :

 "{\"Sport\":[{\"Name\":\"nana\",\"Description\":\"lmkmsdqd\",\"EndDate\":\"2012-07-22T00:00:00\"},
              {\"Name\":\"sfqsdffqf\",\"Description\":\"lkqjskdlqsd\",\"EndDate\":\"2012-07-22T00:00:00\"}],
    \"Music\":[{\,\"Name\":\"nana\",\"Description\":\"lmkmsdqd\",\"EndDate\":\"2012-07-22T00:00:00\"},
               {\"Name\":\"sfqsdffqf\",\"Description\":\"lkqjskdlqsd\",\"EndDate\":\"2012-07-22T00:00:00\"}]}"

请建议我如何绑定(bind)它!!

最佳答案

好吧,所以我整理了一个粗略的 fiddle演示一些绑定(bind)概念,以及 ViewModel 构造。我必须清理你的 JSON 才能做到这一点。它演示了模板、foreach 和文本绑定(bind)。如果您还没有这样做,我强烈建议您浏览 tutorials on the knockout site .

这是 HTML 绑定(bind):

Sports
<ul data-bind="template: { name: 'listingTemplate', foreach: sports}"></ul>
</br>
Music
<ul data-bind="template: { name: 'listingTemplate', foreach: music}"></ul>

<script type="text/html" id="listingTemplate">
<li>
    <span data-bind="text: name"></span></br>
    <span data-bind="text: description"></span></br>
    <span data-bind="text: endDate"></span></br></br>
</li>
</script>​

和 View 模型:

var Listing = function(data) {
    this.name = ko.observable(data.Name || '');
    this.description = ko.observable(data.Description|| '');
    this.endDate = ko.observable(data.EndDate|| '');
};

var ViewModel = function(data) {
    this.sports = ko.observableArray(
        ko.utils.arrayMap(data.Sport, function(i) {return new Listing(i);})
    );
    this.music = ko.observableArray(
        ko.utils.arrayMap(data.Music, function(i) {return new Listing(i);})
    );
};

关于javascript - 在knockoutjs中绑定(bind)JSON和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577816/

相关文章:

java - Ajax 调用 jsp 和 jsp 重定向到进一步的 jsp

javascript - 为什么 sails.js 忽略/config/env/production.js 而使用 process.env.PORT 代替?

ios - Json Values Append Array 但 ViewDidLoad 看起来是空的

node.js - 通过ejs将参数从node.js传递到knockout.js

templates - 带 knockout 的动态模板

javascript - 为什么重新定义变量不会在异步函数中抛出错误

javascript - DataBinder.Eval 返回的值被解释为变量而不是字符串

javascript - JSON:解析数组的名称(而不是值)

java - 我无法在 String.format 上使用变量

javascript - 创建一个通用类以将挖空对象与页面绑定(bind)