2014-02-10 3 views
0

Просмотрите эту ссылку: http://plnkr.co/edit/sgVUGIl9eOoXik9gBIHD и помогите мне.угловой ui modal scope/variable issue

Я передаю «Bond» переменную имени для модального текстового поля и изменяя ее на «Джеймс» (или что-то еще). Оно меняет значение в текстовом поле, но в предупреждении (в $ scope.ok Modal Controller) возвращает старое значение «Bond»

Спасибо за вашу помощь и время.

ответ

3

У вас возникли проблемы с прототипом наследования свойств области. Пожалуйста, обратите внимание на: What are the nuances of scope prototypal/prototypical inheritance in AngularJS?

Вы можете избежать этих проблем, если вы используете объект в контроллере:

$scope.obj = {}; 
$scope.obj.name = name; 

в вашем HTML вам нужно написать:

<input ng-model="obj.name" > 

Теперь вам может получить доступ к названию в вашей функции ok:

$scope.ok = function() { 
    console.log($scope.obj.name) 
    $modalInstance.close($scope.selected.item); 
}; 

Ваш рабочий план: http://plnkr.co/edit/PRckScjJQZVdVhXDqjMu?p=preview

Смежные вопросы