【发布时间】:2013-11-01 00:33:53
【问题描述】:
我很困惑。 我有以下模型,attr 标签和固定装置的转换:
Tracker.Story = DS.Model.extend({
title: DS.attr('string'),
tags: DS.attr('array', []),
});
DS.ArrayTransform = DS.Transform.extend({
deserialize: function(serialized) {
return serialized;
},
serialize: function(deserialized) {
return deserialized.split(',');
}
});
Tracker.register("transform:array", DS.ArrayTransform);
Tracker.Story.FIXTURES = [
{
id: 1,
title: "Some story",
tags: ["tag1", "tag2", "tag3"],
}
和模板
{{#each itemController="story"}}
{{title}}
{{#each tag in tags}}
{{tag}}
{{/each}}
{{/each}}
它非常适合 FIXTURES 的故事。 我通过界面添加了新故事,其中输入字段定义为:
{{input type="text" value=tags}}
转换正常工作并从字符串返回数组(例如,[1,2,3] from "1,2,3")。
但是为添加的故事与下一条消息渲染标签失败:
断言失败:#each 循环的值必须是一个数组。你通过了 1 ember.js:417
Uncaught TypeError: Object 1 has no method 'addArrayObserver' ember.js:22976
未捕获的错误:您所做的某事导致视图在渲染后但在插入 DOM 之前重新渲染。
【问题讨论】:
标签: ember.js