非常に些細な Ember APP を作成中です。私自身の正気を保つために、必要なアニメーションと、EmberViews 内の jQuery を介したマウスオーバー/クリックなどの単純な dom イベントを行うことを好みます。
私がこれを持っているとしましょう:
App.SomeView = Ember.View.extend({
didInsertElement:function(){
this.$(element).hover(function(){
$(anotherElement).toggle();
});
}
});
私のテンプレートは次のようなものです:
<script type="text/javascript" data-template-name="routeName">
{{#view SomeView}}
<button {{action 'something' this}}> </button>
<element></element>
{{#if condition}}
<anotherElement></anotherElement>
{{/if}}
{{/view}}
</script>
そして、私のコントローラは、それに応じて、次のようなアクション「何か」をサポートしています:
App.SomeController = Ember.Controller.extend({
condition:false,
actions:{
something:function(){
this.set('condition',true);
}
}
});
すべてがうまく機能しますが、「何か」アクションでやりたいことは、ビューで「didInsertElement」イベントをトリガーして、そのコードをもう一度書き留めなくても「 anotherElement」の可視性が切り替えられるようにすることです。
これは意味がありますか?「オブザーバブル」を使用してみましたが、機能させることができませんでした。
あるいは、これを行うためのより良い方法があれば、それも歓迎します。