Я пытаюсь реализовать модальное окно в Angular, чтобы запросить пользователя для ввода, я использовал почти тот же код в предыдущем приложении, и он работал, я действительно «т знаю, что здесь происходит ...
Вот контроллер, который открывает модальное (в Coffee Script):
.controller('addStreamModal', [
'$scope', '$modal', '$log', '$http', '$rootScope'
($scope, $modal, $log, $http, $rootScope) ->
$scope.open = ->
modalInstance = $modal.open(
templateUrl: "addStream.html"
controller: 'addStreamModalInstance'
resolve:
public_key: ->
"placeholder"
)
modalInstance.result.then ((result) ->
return
), ->
$log.info "Modal dismissed at: " + new Date()
return
return
return
])
Теперь модальный контроллер экземпляра:
.controller('addStreamModalInstance', [
'$scope', '$modalInstance', '$http', 'public_key'
($scope, $modalInstance, $http, public_key) ->
console.log(public_key)
$scope.public_key = public_key
$scope.ok = ->
console.log($scope.public_key)
$modalInstance.close $scope
return
$scope.cancel = ->
$modalInstance.dismiss "cancel"
return
return
])
И HTML:
<div class="modal-header">
<h4>Please enter the private key for verification {{public_key}}</h4>
</div>
<div class="modal-body">
<div class="form-group">
<input type="text" class="form-control" id="exampleInputEmail1" ng-model="public_key">
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">OK</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
Так я нажимаю кнопку, и модальный открывается «заполнитель» в текстовом поле, я могу также увидеть этот тест, связанный с названием модальной. Когда я заканчиваю текст в поле, заголовок продолжает обновляться, как ожидается из-за привязки, однако, когда я нажимаю ok, кажется, что $ scope.public_key возвращается к «placeholder». Попытка выяснить, почему.
Какая область вернулась к public_key? addStreamModal или addStreamModalInstance? – pherris
Хм, вам не нужно назначать результаты модального обратного вызова вашей переменной области видимости в родительском контроллере «addStreamModal»? Никогда не писал ни одной строки cs, но что вы ничего не делаете с «результатом» выглядит странно. Пожалуйста, просветите меня, если я ошибаюсь. – marko