問題タブ [htmlbars]
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 v11 へのアップグレード後、{{input}} 値バインディングが機能しません
今日、Ember CLI のバージョンを 0.1.15 から 0.2.3 に更新したいと思いました。もちろん、これの一部は、新しい HTMLBars レンダリング エンジンへのアップグレードに伴います。{{input}}
しかし今、計算されたプロパティを値に渡すときに、ヘルパーが計算されたプロパティに正しくバインドされなくなったという非常に奇妙な動作が見られます。代わりに、引用符が含まれていなくても、文字列として評価されています。例えば:
{{input type="text" value=deviceId}}
実際の計算されたプロパティではなく、文字列 deviceId に等しい値を持つテキスト ボックスとして文字通り表示されます。奇妙なことに、次のように value の代わりに非推奨の valueBinding を使用すると、次のようになります。
{{input type="text" valueBinding=deviceId}}
正常に動作しますが、非推奨メッセージがスローされます。同様の問題が発生している他の人を見つけることができませんでした。何が問題になる可能性があるかについて、誰かがアイデアを持っていますか?
どうもありがとう!
javascript - Typeahead.js と Ember の HTMLBars
Ember アプリで (このアドオンを介して) Typeahead.js ライブラリを使用しており、1.10 より前の Ember バージョンでは成功していますが、Ember 1.10 へのアップグレードで問題が発生しています。
これまで、先行入力コンポーネントに渡されるテンプレートをコンパイルし、それを次のように先行入力ライブラリに渡すことに成功しました。
ただし、これは Ember 1.10 では機能しません。このコード行を実行すると typeahead.js が次のエラーをスローするためです。
コード:
エラー:
Uncaught TypeError: that.templates.suggestion is not a function
以前that.templates.suggestion
は、上記の最初のコード ブロックの値である は、オブジェクトsuggestion
を渡すことができ、実際のテンプレートをコンパイルする関数でした。HTMLBars では、that.templates.suggestion
は関数ではなく HTMLBars オブジェクトであるため、このコードは機能しなくなりました。
Ember 1.10 でこれと同じことを行い、以前の動作と一致するより良い方法はありますか?
ember.js - 複数のコンテンツを ember.js コンポーネント テンプレートに生成するにはどうすればよいですか?
目標は、呼び出し元によって宣言されたコンテンツの複数のブロックを持つ HTML の構造を定義することです。たとえば、ヘッダー、本文、およびコンテンツです。結果のマークアップは次のようになります。
コンポーネントをインスタンス化するテンプレートは、My header
、My body
、およびの 3 つのセクションをそれぞれ定義しますMy footer
。
Ruby on Rails ではcontent_for :header
、呼び出し元からヘッダー コンテンツをキャプチャし、それyield :header
を補間するために使用します。
これはember.jsで可能ですか?
ember.js - 文字列の配列を使用して Ember のモデル プロパティのサブセットを参照する方法は?
Ember(ember-data) モデルにプロパティを配置しようとしています。これは、汎用テーブル コンポーネントに含めるプロパティの単なる配列です。最初に、これをモデルに追加しました:
しかし今では、これらのプロパティを簡単に反復処理し、各モデル インスタンスの値を呼び出すために、子コンポーネントのフープを飛び越えていることに気付きました。
モデルごとに列が変わるので、これは良い解決策だと思いました。より良い方法はありますか?
特に、行 (モデル インスタンス) ごとに、以下の架空のスニペットのような不合理なことを言いたい場合に行き詰まります。
私はコントローラーを使わずに、コンポーネントを一般的なものにしようとしています。
編集:
現在、行コンポーネントでこれを行ってから、hbs の「列」を反復処理しています。しかし、それは正しくないと感じており、いくつかの問題を引き起こすと思われる非同期部分(一部の列は外部呼び出しを行う必要があります)に到達しているので、より良い方法を見つけたいと思いました。
ember.js - emberjs は、テンプレートのレンダリング後にその場でコードを追加します
emberjs では、テンプレート ファイルにコードを追加できます。
テンプレートがレンダリングされます。しかし問題は、テンプレートがレンダリングされた後にこれを動的に追加するにはどうすればよいかということです。たとえば、ボタンを追加して新しい入力フィールド (色) を生成したいのですが、ユーザーは必要に応じて新しい色を追加し続けることができますか? これを行うにはどうすればよいでしょうか?
ember.js - Ember + HTMLBars: 「ブール値」のバインドされた属性はブール値ではありません
Ember 1.5 ハンドルバー アプリを現在の安定した Ember および HTMLBars に移行していますが、バインドされたコントローラー プロパティが返される"disabled"
かnull
、「無効な」DOM 属性で期待どおりに動作する必要があるようです。
HandlebarsisDisabled
プロパティはブール値であり、すべて問題ありません。
HTMLBars では、次のものが必要なようです:
これは正しいです?ブール値のプロパティは、アプリの残りの部分でブール値であると予想されるため、これはもちろん問題を引き起こします。そのため、これを期待どおりに機能させるには、「ブール値を駆動する追加の計算プロパティを追加する必要があります。 ish""string"/null
値が設定された DOM 属性。
他の誰かがこれ、または「チェック済み」に関連する問題に遭遇しましたか?
使用:
Ember 1.11.3 + HTMLBars
ember-cli 0.2.3
ember.js - {{each}} ヘルパーを使用する Ember-cli のネストされたモデル配列は、Ember データ ストアに追加するときにリスト全体を再レンダリングします
ダッシュボードをロードするルートがあります
ダッシュボード モデルには、ウィジェット モデルへの hasMany 関係が含まれています
ウィジェット モデルには、ダッシュボード モデルへの属している関係が含まれています
dashboard.index テンプレートは、{{each}} ヘルパーを使用してウィジェットをレンダリングします
ユーザーはダッシュボードにウィジェットを追加できます
これは機能しますが、新しいウィジェットが作成されると、すべてのウィジェットが再レンダリングされます。
注意事項: - ビューまたはコントローラーを実装していません。- ウィジェットのコレクションだけを返すように実装を変更すると、ember-cli が ObjectController ではなく ArrayController を作成するようになり、各ループは再レンダリングされません (優れています)。ただし、ダッシュボードにはレンダリングが必要な子配列が複数あるため、このアプローチを採用することはできません。- オブジェクト コントローラーを実装し、独自のアレイ コントローラーを作成しようとしても、ここで同じ機能を得ることができません。
すべてのウィジェットを再レンダリングせずにウィジェットを追加する方法について何か提案はありますか?