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 时出现问题。

我切换回 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 回答