1

アクション ヘルパーを使用せずにビューを定義するときにアクションを直接設定する方法はありますか? 私のビューは既にリンクになっているため、テンプレートを使用できません。クリックイベントを使用する必要がありますが、ビューはルーターを認識している必要があります。

例:

App.Link = Em.View.extend({
    classNames: ['btn'],
    tagName: 'a',
    template: Em.Handlebars.compile("My Link"),
    click: function(event) {
        //I don't want to have to call this here
        App.router.doSomething();
    },
    //What Id like to do
    action: "doSomething"
})

これはどこでも入手できますか?情報が見つかりませんでした。

4

1 に答える 1

1

実際には Bindings を介してそれを行うことができ、それはかなり受け入れられます (少なくとも私の観点からは)。多くの異なるビュー/オブジェクト間の一連の内部接続を処理するときに、これをかなり頻繁に使用することになります。実際、これが Ember を使用する主な理由の 1 つです (多くのブートストラップを処理してくれます)。

    clickBinding: 'doSomething' 

フィドラーを作成したので、単純なバージョンの動作を示します(相対パスまたは絶対パスにすることができることに注意してください)。詳細については、ドキュメントでも説明しています。

于 2012-08-04T19:39:28.370 に答える