Ember.js 切换单个对象的视图/组件
我试图模仿类似于《余烬待办指南》的东西,在那里我可以在编辑状态之间切换,但使用组件。如果我的控制器是:Ember.js 切换单个对象的视图/组件,ember.js,Ember.js,我试图模仿类似于《余烬待办指南》的东西,在那里我可以在编辑状态之间切换,但使用组件。如果我的控制器是: App.IndexController = Ember.ObjectController.extend({ isEditing: true, actions: { enableEditing: function(){ this.set('isEditing', true) } } }) 如何一次仅为模型的一项切换编辑状态?当前,
App.IndexController = Ember.ObjectController.extend({
isEditing: true,
actions: {
enableEditing: function(){
this.set('isEditing', true)
}
}
})
如何一次仅为模型的一项切换编辑状态?当前,单击“编辑”按钮可切换模型中每个项目的编辑状态
另外,是否有更好的方法替代
{{if isEditing}{{else}}{{/if}}
方法?您需要使用一个itemController,它将每个项包装在自己的控制器中。使用数组控制器,您只需在控制器itemController
上定义一个属性,并为其指定要使用的对象控制器的名称
控制器
模板
在模板中,您将迭代控制器而不是模型
{{#each item in controller}}
...
{{/each}}
提示
最后一个提示,如果您的动作名称与哈希中的动作名称不匹配,Ember会对您大喊大叫:
未捕获错误:未处理“启用”操作。如果是的话
处理该操作时,此错误可能是由于从
控制器中的操作处理程序,导致操作冒泡
我在原始问题中提出的问题是,除了
{{if}{{else}}
方法之外,还有更好的替代方法吗?如果else是一种完全可以接受的方法,另一种可能的方法是创建一个用于编辑的子路由,并使用模型转换到该路由,这取决于您创建的编辑表单有多复杂。
{{#each item in controller}}
...
{{/each}}