我很困惑。我有以下模型,用于 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”中的 [1,2,3])。
但未能通过下一条消息渲染添加故事的标签:
断言失败:#each 循环的值必须是数组。你通过了 1 ember.js:417
未捕获的类型错误:对象 1 没有方法 'addArrayObserver' ember.js:22976
未捕获的错误:您所做的某事导致视图在渲染后但在插入 DOM 之前重新渲染。