未捕获错误:未处理任何操作 'edit' - 正确的控制器名称以放置操作



首先,我是ember的新手。我在"templates/orders/show.hbs"里面有一个"展示"车把。此车把中的表单提交操作总是返回"Uncaught Error: Nothing handled the action 'edit'。如果您确实处理了该操作,则此错误可能是由于从控制器中的操作处理程序返回true而导致操作冒泡。".我在controllers/orders.js中定义了编辑操作。我是否将编辑操作放错了文件。如果是,进行"编辑"操作的正确位置是什么?

把手(show.hbs):

<form class="form-horizontal" {{action "edit" this on="submit"}}>
<div class="control-group">
    <div class="control-label">
        <label>Name</label>
    </div>
    <div class="controls">
      {{input value=name type="text"}}
    </div>
</div>
<div class="control-group">
    <div class="control-label">
        <label>Age</label>
    </div>
    <div class="controls">
      {{input value=fury type="text"}}
    </div>
</div>
<button type="submit" class="btn">submit</button>
</form>
 controller file (orders.js):
    export default Ember.ObjectController.extend({
      actions: {
        edit: function(){
          console.log('EDIT - Entered');
        }
      }
    });

谢谢!

正如前面所指出的,您的问题对于如何呈现模板有点模糊。

首先,确保安装了Ember检查器。有Chrome和Firefox的版本,可能还有其他浏览器。这将使Ember应用程序的调试更加简单。安装并打开Inspector后,导航到"视图树",您应该能够确定哪个控制器是模板的活动控制器。

使用语法:

{{action "myAction"}}

该操作将冒泡到当前负责模板的控制器。此外,如果您的模板在视图中呈现,并且您希望视图处理操作而不是控制器,则可以指定:

{{action "myAction" target="view"}}

相关内容

最新更新