我一直在尝试将动作帮助器与ember一起使用。我收到以下错误: Handlebars错误:无法在对象上找到属性“action”。
我想我在这里的简化视图中遵循了这些例子:
<script type="text/x-handlebars" data-template-name="user-edit">
<p><a href="#" {{action "showUsersList"}}>Back</a></p>
</script>
视图对象:
App.UserEditView = Ember.View.extend({
templateName: 'user-edit',
userBinding: 'App.usersController.selectedUser',
tagName: 'span',
didInsertElement: function () {
$('h1').html('Edit User');
document.title = 'Edit User';
},
showUsersList: function(event) {
App.usersController.showUsersList();
}
});
知道为什么我不能像示例中那样使用动作帮助器吗?
谢谢, 罗伯特
答案 0 :(得分:2)
您也可以简单地创建视图并将其附加到文档中。 您不需要第二把手模板。
App.UserEditView = Ember.View.create({
templateName: 'user-edit',
userBinding: 'App.usersController.selectedUser',
tagName: 'span',
didInsertElement: function () {
$('h1').html('Edit User');
document.title = 'Edit User';
},
showUsersList: function(event) {
App.usersController.showUsersList();
}
}).append();
答案 1 :(得分:1)
我修剪了一些特定于应用的逻辑,但让你的行动助手在this fiddle中工作
<强>车把强>:
<script type="text/x-handlebars" data-template-name="user-edit">
<p><a href="#" {{action "showUsersList"}}>Back</a></p>
</script>
<script type="text/x-handlebars" >
{{view App.UserEditView}}
</script>
<强>的JavaScript 强>:
App = Ember.Application.create({});
App.UserEditView = Ember.View.extend({
templateName: 'user-edit',
tagName: 'span',
showUsersList: function(event) {
alert('hi');
}
});