У меня возникают некоторые "проблемы", считывающие ng-модель из контроллера.
Я хочу сделать это:
<input type="text" ng-model="code">
<button ng-click="setCode()">Login</button>
И в моем контроллере доступ к этой переменной:
$scope.setCode = function(){
alert($scope.code);
}
Это то, что я хочу сделать, но моя переменная кода undefined.
Я нашел два способа заставить это работать:
1) Передача переменной в качестве аргумента
<input type="text" ng-model="code">
<button ng-click="setCode(code)">Login</button>
и
$scope.setCode = function(code){
alert(code);
}
2) Объявление моей переменной как объекта
<input type="text" ng-model="code.text">
<button ng-click="setCode()">Login</button>
и
$scope.code = {text: 'foo'};
[...]
$scope.setCode = function(){
console.log($scope.code);
}
(я предпочитаю второй)
Но я немного смущен тем, что должен делать. Можно ли объявить мои ng-модели как объекты? Я должен объявить ВСЕ мои модели как объекты?
EDIT: Вот Plnkr проблемы
В этом примере (я использую Ionic framework), я объявляю переменный код с тегом значений, когда я меняю модель на входе и нажмите кнопку "Пуск", теоретически я должен увидеть в предупреждении новое значение модели. Но то, что я вижу, является старым.
Спасибо!