3

Bootstrap コントロール グループにラップされたラベルとテキスト入力を作成するための再利用可能なコンポーネントまたはビューを作成しようとしています。コンポーネントは、次のようなものを作成する必要があります。

<div class="control-group">
  <label class="control-label" for="approachInputId">ApproachLabel</label>
  <div class="controls">
    {{view Ember.TextField valueBinding='approach'}}
  </div>
</div>

次の行に沿ってコードを使用して呼び出すことができます。

{{view App.TextFieldWithLabel valueBinding='approach' label='ApproachLabel'}} 

Stack Overflow にも同様の質問があります: Using Ember.js text field ids for a <label> tag

回答の 1 つに、この jsFiddle へのリンクが含まれています。http://jsfiddle.net/GtsKK/2/

これはほとんど私が探しているものですが{{view App.TextFieldWithLabel}}、JS オブジェクト配列で宣言する代わりに、ビューを挿入するときにラベルと valueBinding を渡す方法を理解したいと思います。

どんな助けでも大歓迎です。

編集: 2013 年 1 月 29 日

http://jsfiddle.net/ianpetzer/3WWaK/で別の JSFiddle を作成しました。これは、達成しようとしていることを明確に示しています。ビューをテンプレートに挿入した時点から変数値を渡すことができないようです。

4

3 に答える 3

1

私はここであなたのために少しフィドルを作成しましたhttp://jsfiddle.net/Energiz0r/sbnwb/3/ ここで私はあなたの上記のAPIに従いました:

{{view App.TextFieldWithLabel valueBinding='approach' label='ApproachLabel'}} 

これがあなたが探していたものであることを願っています。

于 2013-01-29T12:42:04.413 に答える
1

テンプレート式とその動作

  • {{view.name}}ビューから値を選択します
  • {{controller.name}}コントローラーから値を選択します
  • {{name}}ビューのコンテキストから値を選択します

したがって、ビュー プロパティをバインドする最初のオプションを使用してください。

更新されたフィドル - http://jsfiddle.net/VenkataSuresh/3WWaK/2/

于 2013-01-29T09:16:16.720 に答える
0

Emberを使用してブートストラップフィールドを作成することを検討している場合、これまでに見つけた最善の方法はEmberBootstrapです。

十分に文書化されていませんが、使用するのは非常に簡単であり、非常によく実装されているため、時間を大幅に節約できます。コードはかなり簡潔だと思います。時間をかけてどのように機能するかを見てみると、Emberについて多くのことを学ぶことができます。

より具体的に質問に答えるために、上記のようにEmberビューを挿入すると、ビューオブジェクトはとにアクセスできるようになりthis.get('value')ますthis.get('label')。1つがリテラルで、もう1つがバインディングであるかどうかは関係ありません。エンバーの優雅さの一部は、それがあなたのためにこれを扱うということです。

于 2013-01-23T04:39:59.357 に答える