Ember.js 如何使用EmberJS直接在控制器上实现操作?
我试图在控制器上执行一个操作并得到警告:Ember.js 如何使用EmberJS直接在控制器上实现操作?,ember.js,Ember.js,我试图在控制器上执行一个操作并得到警告: 弃用:直接在控制器上实现的操作处理程序被弃用,取而代之的是操作对象上的操作处理程序 如果我使用Em.ObjectController.create(),当我单击我的按钮时,我会收到一条警告,说明必须在扩展时提供操作。但是,如果我使用Em.ObjectController.extend(),当我单击该按钮时,会出现一个错误,表明该操作在控制器上不存在 我创建了一个视图来查看这个 //App.ToolbarController = Ember.ObjectC
弃用:直接在控制器上实现的操作处理程序被弃用,取而代之的是操作对象上的操作处理程序 如果我使用Em.ObjectController.create(),当我单击我的按钮时,我会收到一条警告,说明必须在扩展时提供操作。但是,如果我使用Em.ObjectController.extend(),当我单击该按钮时,会出现一个错误,表明该操作在控制器上不存在 我创建了一个视图来查看这个
//App.ToolbarController = Ember.ObjectController.create({
App.ToolbarController = Ember.ObjectController.extend({
model: { fu: "baar" },
actions: {
doSomethingUseful: function(data) {
console.log("doing nothing useful...");
}
}
});
我看了你的jsBin 首先,如果您将模板作为嵌入式脚本标记而不是编译的handlebar函数发布,那么将来调试模板会更容易 我已经做了一个解决你问题的计划 我相信您的问题与您创建视图时使用的方法有关
{{view App.ToolbarView controllerBinding="App.ToolbarController"}}
我不确定这是否有效
相反,您应该使用渲染辅助对象
{{ render 'toolbar' }}
这样,ember将尝试找到工具栏视图、控制器和模板,并将它们正确地连接在一起。感谢您的建议和回答!解释“视图”和“渲染”辅助对象之间的区别。我一定是把帮手搞混了。