2

ふぅ、わかりました。スコーピングの悪夢。

入力のプレースホルダーは表示されていません。スタンドアロンの入力として機能しますが、リストに追加されるとすぐにスコープが失われます。問題を特定しましたが、回避策を見つけることができません。この問題を理解できれば、Angularでのスコーピングに関する多くの質問を解決するのに役立つと思います。このシナリオでスコープを管理するにはどうすればよいですか?リソースでさえ役立つでしょう

HTML

<div ng-repeat="region in data.regions">
    <h2> {{region.name}} </h2>
    <input ui-select2="version2" type="hidden" name="keywordsLocal-{{$index}}" class="region-keywords input-xlarge" data-ng-model="data.regions[$index].keywords" required-multiple />
    <select ui-select2 id="copy-{{$index}}" ng-show="region.length > 1" class="input-xlarge" ng-click="_copy($event, $index)" data-ng-model="data.regions[$index].keywords">
        <option value="">Placeholder:</option>
        <option ng-repeat="region in data.regions" value="{{region.keywords}}">{{region.name}}</option>
    </select>
</div>

画像

ここに画像の説明を入力してください

4

1 に答える 1

0

私はこれを解決しました。ドキュメントでは、select2がng-optionsディレクティブと「互換性がない」と明確に述べられています。私のアプリ全体がng-repeatを使用してバグがあったため、これは私に1日中混乱を引き起こしました。

ng-optionsに切り替えたところ、すべてが見事に機能しています。

編集:追加されたコード例

<select class='copy' ng-change='_copyKeyword($index)' ng-disabled='max.keywords - keywordsSum() <= data.selected_region_objects.length' ng-model='selectedKeywords' ng-options='region.name for region in data.selected_region_objects | keywordFilter: {name: region.name}' style='width:200px;' ui-select2=''>
    <option value=''>Use same keywords as:</option>
</select>
于 2013-03-07T20:09:21.903 に答える