【发布时间】:2012-03-23 10:24:30
【问题描述】:
我正在尝试使用 KnockOut 映射插件创建视图模型,
这是对象,基本上下面是一个带有单词的句子。
var data = {
name: 'Example Title',
sentences: [
{id: 1, words: [{text: 'word1'}, {text: 'word2'}]},
{id: 2, words: [{text: 'word3'}, {text: 'word4'}]}
]};
我想要三个视图模型,
文章应该包含句子,句子应该包含单词
var ArticleViewModel = function(data)
{
var self = this;
self.id = ko.observable(data.id);
self.sentences = ko.observableArray([]);
}
var SentenceViewModel = function(data)
{
var self = this;
self.id = ko.observable(data.id);
self.words = ko.observableArray([]);
}
var WordViewModel = function(data)
{
var self = this;
self.id = ko.observable(data.id);
self.text = ko.observable(data.text);
}
我想把它放在下面的视图中;
<p data-bind="foreach:sentences">
<span data-bind="foreach:words">
<span data-bind="text:text">
</span>
</p>
我什至不确定我想要实现的目标是否可行,但我想我需要映射,但我无法完成这项工作,
这是我的一些尝试,也许有助于更好地理解我的问题, http://jsfiddle.net/sureyyauslu/2wTjy/6/
提前非常感谢...
【问题讨论】:
标签: knockout.js knockout-mapping-plugin knockout-2.0