2012-05-30 13 views
15

私はディレクティブの作成プロセスを進めていました。いくつかの浮き沈みを経て、私はディレクティブ(ウィジェット)を作成し、ディレクティブが取るべき様々な属性を完成させました。 ディレクティブ 'scope'の値属性が必要です

私は属性、バインド、評価、表現などのように利用できるさまざまなオプションを...使用し、私はあなたが一般的なコンポーネントを作成する場合、あなたは人々がに値を渡す方法を伝えることはできませんということでした考え出し何

コンポーネントここで

は例示である...

あなたは新しい要素部品を作成している...と言う

<hello name="__ARGUMENT__"></hello> 

ハローのname属性は、その中の唯一の変数です。あなたがそれを一般に公開すれば、人々がこのコンポーネントを使用する可能性のあるシナリオです。

ケース1:

<hello name="angular"></hello> 

ケース2:

<hello name="{{name}}"></hello> 

ケース3:異なるシナリオのための今

<div ng-repeat="name in names"> 
    <hello name="name"></hello> 
</div> 

.. ..私は、さまざまなオプションを理解するようになりました提供されます。私は、コンポーネントからテンプレートへの値の単純な直接置換以来、 '属性'を望むという単一のシナリオを考えることはできません。

あなたのディレクティブの定義では、 '属性'

の属性場合:

<hello name="angular"></hello> 

場合は、評価:

<hello name="'angular'"></hello> 

は、余分な単一引用符に注意してください。..

私が評価できるのは、どのような属性がカバーしているかを示しています。評価を使用するのは、より多くのシナリオをカバーしているため、属性だけではなく優れています。

属性が最初に存在する理由を誰かが説明できる場合は、より多くの選択肢=より多くの混乱.. :)

+0

Ganaraj、あなたがこれを持ち出したことは素晴らしいことです。今週の私は指示書docを読んでいたので、私は同様の結論に達しました。もう1つのことは、魔法のリテラルプレフィックス(?、^)を持つコントローラの "require"属性です。事実 ?必要な依存性をオプションにするのは少し奇妙です。たぶん別々のオプションがありますが、もちろんもっと複雑なものになります... –

答えて

7

私たちはこの混乱をよく認識しており、今後これを浄化します。

+5

これまでの変更はありますか? – stej

関連する問題