0

我一直在尝试将动作助手与 ember 一起使用。我收到以下错误:Handlebars error: Could not find property 'action' on object 。

我想我在这里的简化视图中遵循了示例:

<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();
    }
});

知道为什么我不能像示例中那样使用动作助手吗?

谢谢,罗伯特

4

2 回答 2

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();
于 2012-04-05T07:29:50.023 回答
1

我删除了一些特定于应用程序的逻辑,但让你的动作助手在这个小提琴中工作

车把

<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');
    }
});​
于 2012-04-04T03:26:54.490 回答