問題タブ [aurelia-templating]

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.

0 投票する
1 に答える
572 参照

aurelia - 強化されたフラグメントを破棄する方法

私は、コンポーネントを Aurelia コンポーネントに段階的に置き換える既存の SPA に取り組んでいます。enhanceのAPIを使用しますTemplatingEngine。これはかなりうまく機能しますが、アプリケーションの別の部分に移動するとき (ページのリロードなし) には、これらの強化されたフラグメントを破棄する (イベント リスナーを削除するなど) 必要もあります。

私の考えは、 aurelia インスタンスをページに保持して再利用することです。

現在、次のようなフラグメントを強化しています。

私が強化した HTML は次のようになります。

カスタム要素自体の関数でこれを試しました(DfElement::removeMyself()):

しかし、コンテナーからビューを取得するときにエラーが発生します ( Undefined のプロパティ 'resources' を読み取ることができません)。クリック ハンドラからこの関数を呼び出しました。

主な質問:とunbindその子のフックとdetachedフックを手動でトリガーする方法は?DfElement

おまけの質問:aureliaインスタンス ( window.DFAurelia)root のプロパティhostが定義されておらず、それは悪いことですか? ページ内のフラグメントを拡張 (および非拡張) するこの方法に潜在的な問題はありますか?

0 投票する
2 に答える
890 参照

javascript - Aurelia - ViewCompiler のビュー リソースを登録する方法は?

バインド可能な列属性に基づいてテンプレートを動的にレンダリングする、行ベース (テーブルのような) カスタム要素があります。行テンプレートを文字列で構成し、ViewCompilerViewFactory、およびViewを使用してレンダリングします。

カスタム テンプレートに標準の HTML 要素が含まれるまで、これは問題なく機能します。カスタム要素をテンプレートに配置し始めると、機能しなくなります。HTML は引き続きレンダリングされますが、カスタム要素の動作は Aurelia によって関連付けられていません。

すべてのカスタム要素を使用するには、「登録」する必要があることを認識しています。「通常の登録」は、 を介してビューで<require>、またはビューモデル@viewResourcesで、またはグローバルに登録することで発生します。

ただし、この特定のケースでは、注入されViewCompilerた はビューモデルの親のビュー リソースのみを継承します。私の質問は次のとおりです。追加のビューリソースを登録するにはどうすればよいですか? ViewCompilercompileメソッドの 2 番目のパラメーターは認識していますが、機能させることができませんでした。グローバルに登録する場合、それを機能させることができた唯一の方法です。

注: この質問は、ビュー リソースの登録に焦点を当てています。動的レンダリングは問題なく動作します

0 投票する
2 に答える
2110 参照

aurelia - アウレリア・コンポーズ

アウレリアの<compose>エレメントについての簡単な質問です。次のように、カスタム要素をフォーム コントロールとして挿入するために使用したいと考えていました。

ただし、要素が,およびパラメータの<compose>受け入れのみに制限されているように見え始めています。あれは正しいですか?、、などのパラメータをに基づいてカスタム要素に渡す最良の方法は何ですか?modelview-modelviewvaluedataplaceholdercontrol.type

私のソリューションで編集:

結局、Aureliaは,および属性<compose>でのみ動作するようです。私の解決策は、次のようにすべてのデータを渡すことです(複数のアイテムを単一のオブジェクトとして渡すことができます)viewview-modelmodel

興味深いと思ったのは、 を使用する場合、パラメータを受け取るためにデコレータをmodel.bind使用する必要がないことです。@bindableビューですぐに使用できます。

0 投票する
1 に答える
306 参照

javascript - カスタム aurelia 属性での単純な DOM 操作

簡単な DOM 操作をテストして、Aurelia カスタム属性を試しています。

驚いたことに、親の svg ノードに楕円ノードを追加して操作を実行すると、HTML は変更されますが、楕円はレンダリングされません。

innerHtml プロパティの操作は期待どおりに機能します。

要素 innerHtml を操作する代わりに、appendNode() を使用して目的の結果を達成することは可能ですか?