我有一个使用Select2(4.0.3)和Angular(1.4.9)的项目。其中一种形式使用Angular控制器和双向数据绑定,加载包含许多站点的联系人模型,以及来自服务器的可用站点列表。此数据分别添加到-
-
-
对象和contact
数组中,这些数组是控制器的属性。我已经实现了Select2多重选择,允许用户更新属于该联系人的网站列表。
sites
此实现的问题是,在首次加载数据时,它不会显示已经属于联系人的站点。
在使用<select
name="sites"
class="form-control m-b js-example-basic-multiple site-select"
multiple="multiple"
data-placeholder="Select Sites"
ng-model="contact.sites">
<option
ng-repeat="site in sites"
ng-bind="site.name"
value="{{ site.id }}">
</option>
</select>
从服务器获取数据之前,select元素将变为Select2。
将Angular和Select2集成在一起以解决此问题的最佳方法是什么?
答案 0 :(得分:0)
我通过将ng-options直接添加到select元素并完全删除explict选项元素来解决这个问题:
<select
name="sites"
class="form-control m-b js-example-basic-multiple site-select"
multiple="multiple"
data-placeholder="Select Sites"
ng-model="contact.sites"
ng-options="
site as site.name
for site in sites
track by site.id
">
</select>