动态路由中使用的空数组模型
Empty array model used in dynamic route
当过渡到以空数组作为模型的动态路由时,似乎 Ember 将其关联为undefined
.
因此,如果这是模板:
{{#linkTo dynamic arrayProxy}}link{{/linkTo}}
这是路由定义:
DynamicRoute = Ember.Route.create(function() {
model: function(params) {
return this.modelFor("parent").find(params.name);
},
serialize: function(model) {
return { name: model.get("name") };
}
});
当arrayProxy
[]
或Ember.ArrayProxy.create(content: [])
时,点击链接后:
当然,模型钩子不会被调用。序列化钩子将作为model
undefined
,无论ArrayProxy是一个具有自己属性的有效Ember对象。
有谁知道如何以不同于undefined
的方式强制余烬处理空数组?
不确定是否是拼写错误,但您在模型钩子中缺少返回:
model: function(params) {
return this.modelFor("parent").find(params.name);
},
如果没有这个,serialize
将始终收到一个undefined
作为模型变量。
序列化也需要返回:
serialize: function(model) {
return { name: model.get("name"); }
}
这是我的错误...
显然,该链接嵌套在模板中的以下if
块下:
{{#if arrayProxy}}
{{#linkTo dynamic arrayProxy}}link{{/linkTo}}
{{else}}
{{#linkTo dynamic}}link{{/linkTo}}
{{/if}}
由于arrayProxy
是一个空的 ArrayProxy,因此调用else
部分并呈现第二个 linkTo。
因此,DynamicRoute
的serialize
钩子被undefined
为model
参数。
相关文章:
- 使用knockout.js将数组绑定到视图模型
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 如何在ember数据模型中表示数组
- 在Backbone中对模型(数组)进行排序
- 主干输出用于集合模型的空数组
- Cakephp 访问不在模型数据数组上的输入
- 字符串映射的Extjs模型数组
- Angular2没有在模型数组中迭代
- AngularJS添加表示数组模型的输入
- Knockout.js-更新父视图模型中的数组,在第二个视图模型中使用值
- 如何在backbone.js中从模型中获取数组元素
- 使用数组中的嵌套对象在AngularJS中切换用于动态选择菜单的数据模型
- 在具有主干和车把的模型中循环数组
- 我们如何处理包含带有秘银的子数组的数据模型
- Ember 数据模型数组并不总是有数据
- 当可观察数组是其他模型的属性时,挖空不会更新 UI
- 将数据推送到猫鼬的数组模型中
- 动态路由中使用的空数组模型
- Ember.ArrayController's数组模型中单个模型的观察者
- 在数组模型中使用不同的对象