6

ポップアップライブラリtoastrは、残り火が気に入らない直接のdom操作のためにEmberで動作しませんか?残り火でうまく機能するこのようなライブラリは他にありますか?

編集

以下に掲載されている作業例を使用しても、これをローカルで機能させることはできませんでした。私はついにすぐに機能するPineNotifyを使用しました。

4

1 に答える 1

8

これはEmberで正常に機能します。適切な場所でイベントを処理する必要があります。「適切な場所」は、実装によって異なります。{{action}}ビュー内のボタンからこれを起動する場合は、アクション名を渡すヘルパーを使用する必要があります。例:

<script type="text/x-handlebars" >
    <button class="btn btn-info" {{action showInfo}}>Info</button>
</script>

showInfo上記のテンプレートでは、ボタンでイベントを発生させる必要があると言っているので、Controllerこのビューの責任者は同じ名前の関数を持っている必要があります。

App.ApplicationController = Em.ArrayController.extend({
    showInfo: function() {
        toastr.info('This is some sample information');
    }
});

ビューにイベントを処理させることもできます。以下のコードはclickイベントを定義しているため、ビューの任意の場所をクリックすると、関数が実行されます。

App.OtherView = Em.View.extend({
    click: function(e) {
        toastr.error('This is some sample error');
    }
});

また、Handlebarsテンプレートでは、ビュークラスでそのビューのイベントを処理することをすでに言っているので、アクションを指示する必要はありませんclick。したがって、ビューを簡単にレンダリングしてスタイルを設定できます。

{{#view App.OtherView class="btn btn-danger"}}
    Error
{{/view}}

JSFiddleのサンプルは次のとおりです。http://jsfiddle.net/schawaska/YZwDh/

{{action}}ヘルパーについてのEmberガイドを読むことをお勧めします

于 2013-02-28T21:51:58.987 に答える