問題タブ [ember-observable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - Ember Controllerは、それ自体のプロパティの変更されたイベントにバインドできますか?
次のようなコントローラーを指定します。
これはうまくいかないようですので、オブザーバーがどのように機能するかを理解してはいけません。controller.authenticatedにオブザーバーを作成することになっていると思います。ただし、電話をかけると@set("authenticated", true)
何も記録されません。
更新:無駄に置き換えcontroller.authenticated
てみました。App.signInController.authenticated
私は何が欠けていますか?
ember.js - メソッドがコードによって行われた呼び出しなのか、オブザーバーからの呼び出しなのかを知る方法
次のようなビューにメソッドがあります。
このメソッドは、呼び出しによって直接トリガーするか、property1 オブザーバーによってトリガーすることができます。メソッド内で、呼び出しがどのようにトリガーされているかを知ることは可能ですか。ありがとう
jquery - EmberJS アクションを通じて jQuery DOM 操作イベントをトリガーする
非常に些細な Ember APP を作成中です。私自身の正気を保つために、必要なアニメーションと、EmberViews 内の jQuery を介したマウスオーバー/クリックなどの単純な dom イベントを行うことを好みます。
私がこれを持っているとしましょう:
私のテンプレートは次のようなものです:
そして、私のコントローラは、それに応じて、次のようなアクション「何か」をサポートしています:
すべてがうまく機能しますが、「何か」アクションでやりたいことは、ビューで「didInsertElement」イベントをトリガーして、そのコードをもう一度書き留めなくても「 anotherElement」の可視性が切り替えられるようにすることです。
これは意味がありますか?「オブザーバブル」を使用してみましたが、機能させることができませんでした。
あるいは、これを行うためのより良い方法があれば、それも歓迎します。
javascript - currentPath に基づく Ember navbar UI 条件
私は正しいことをしていないに違いない。私は次のものを持っています:
アプリケーション.hbs
Navbar の次のテンプレートを使用
_navbar.hbs
つまり、すべてが典型的な固定ナビゲーション バーであり、その中央に現在のページを表示します。たまたまタブ付きコンテンツを含むページにいる場合は、代わりにタブ コンテナーを表示します。
したがって、アプリコントローラーで this.get('currentPath') を使用し、それをルート名のグループと比較して true/false をトリガーしています (Navbar がインラインにあるため、ルートの変更を確認するオブザーバーが必要です)アプリケーション レベルで表示します)。
app.js
基本的に、タブ UI は表示されますが、そのタブ オブザーバーが true の場合にのみ表示するようにします。いくつかのデバッグで、私が期待するすべてのコンソール出力を取得していますが、 {{#if tabs}} (オブザーバーを直接使用するだけ) を実行しようとしましたが、常に true が発生します (常にタブ UI が表示されます)。これは、オブザーバーであり、テンプレートで使用できる実際のコントローラー プロパティではないためだと思いました。そのため、hasTabs プロパティを設定してオブザーバーを参照しようとしましたが、うまくいかないようです。これがどのように機能するかを根本的に理解していないことに気づきました。何かご意見は?
ember.js - Ember.js 1.13:コンポーネントの渡された属性を観察する正しい方法?
プロジェクトを Ember 1.13 にアップグレードしようとしていますが、componentの新しい属性の動作について、特にそれらを観察する必要がある場合に少し混乱しています。
たとえば、私のテスト コンポーネントは、外部から渡されるパラメーターであるbarを観察します。Ember の新しい Glimmer エンジンでは、属性が変更されるとコンポーネントが再レンダリングされることを私は知っています。私が理解できないのは、 attrs.barを観察すると、オブザーバーもその時点で起動されるということです(私はbarを変更していません!)。しかし、バー自体を観察すれば問題ありません。
サンプルコード:
HTMLバー:
コントローラ:
成分:
ボタンをタップしてfooの値を変更すると、 barObv2もトリガーされます。デモ用の jsbin を作成しました: https://jsbin.com/qiwivu/2/edit?js,console,output
オブザーバーがトリガーされた理由を誰かが知っていますか?