2016-04-22 5 views
3

Sightlyでng-repeatを使用してドロップダウン値を入力しようとしています。 AEMノードは自分のデータを文字列配列として保存しますが、正しく取り出すことはできますが、 "? undefined:undefined ?"というエラーが発生するため、データを取り込むことができません。SightlyでNg-repeat

マイコード:

<select name="${validation.elementName}" id="${validation.elementName}" ng-model="${validation.elementName}" ng-change="${properties.clickfunction}"> 
     <option ng-repeat="opt in ${properties.options}" value={{opt}}>opt</option>     
     </select> 

そして出力:

output

は、私が行方不明です何がありますか?視界は全く新しいものです。私はこのコードを改善したり、間違いを指摘してくれたことに非常に感謝しています。あなたは、単一引用符と彼らなしで値を渡しているように見える、

value="{{opt}}" 

第二:それはこのようにする必要がありますので

+0

'ng-options'を使用しない特別な理由はありますか? –

+0

私のプロジェクトはHTML、開発、アプリケーションのチームが違うので、htmlチームが提供するcompsに基づいてコンポーネントを構築する立場にあります。(悲しい建築だと言えるでしょう) –

答えて

1

まず第一に、あなたは、あなたが引用符でvalueに渡すデータをラップする必要があります文字列として認識されていません。このplunkerを見てみましょう:

http://plnkr.co/edit/A2gZJbvVV9ozHloLkF4B?p=preview

あなたは予想通り最初ng-repeat動作することを見ることができますが、2番目は、コンソールにエラーをスローし、何も表示されません。基本的には、配列内の各文字列の前後に引用符を付ける必要があります。

1

ご回答いただいた方に感謝します。

下記の結果が見つかりました。

  1. value = "{{opt}}"は、コードをstackoverflowに貼り付ける際の私の間違いでした。
  2. $ {properties.options}は文字列配列を返します。
  3. ng-repeatはこの出力ごとに正しく解析されているようです。 this
+0

値を渡しているようです一重引用符を使わずに文字列として認識されていません。このplunkerを見てください:http://plnkr.co/edit/A2gZJbvVV9ozHloLkF4B?p=preview最初の 'ng-repeat'は期待通りに動作しますが、 2つ目はコンソールにエラーが表示され、何も表示されません。基本的には、配列内の各文字列の前後に引用符を付けるだけです。 –

+1

Thanks @Victor上記のコードは完全に機能しました。答えとして私は正しいとマークすることができます。 –

関連する問題