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

ビューを作成してドキュメントに追加することもできます。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 に答える