Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 如何使用EmberJS直接在控制器上实现操作?_Ember.js - Fatal编程技术网

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将尝试找到工具栏视图、控制器和模板,并将它们正确地连接在一起。

感谢您的建议和回答!解释“视图”和“渲染”辅助对象之间的区别。我一定是把帮手搞混了。