我知道这个问题有点老了,但是嘿......我找到了它但不知道答案。
我设法通过设置模型然后在 select2Options 配置上调用 initSelection() 来做我想做的事
所以我的配置是这样的:
$scope.select2Options = {
allowClear: true
minimumInputLength: 3
quietMillis: 1000
initSelection: ->
$scope.property
query: (query)->
Properties.query({q: query.term}, (response)->
data = {results: processData(response['properties'])}
query.callback(data)
)
processData = (data)->
results = []
angular.forEach(data, (item, index)->
results.push(item)
)
return results
}
然后我让我的模态返回新创建的对象,如下所示:
modalInstance.result.then((result)->
$scope.property = result
$scope.select2Options.initSelection()
)
基本上,一旦它更新了模型,我就必须手动重新初始化 select2 小部件。我认为这可以通过 $scope.$watch 来处理,如果你真的想要的话,但这可能是一种浪费,除非你有从几个地方或其他地方更新的属性。