Ответ 1
Я знаю, что вопрос немного старый, но эй... Я нашел его и не знал ответа.
Мне удалось сделать то, что я хотел, настроив модель, а затем напомнив initSelection() в конфигурации select2Options
Итак, моя конфигурация была такой:
$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, если бы вы действительно этого хотели, но это, вероятно, было бы пустой тратой, если у вас не будет обновлено свойство из нескольких мест или чего-то еще.