привязка angularjs от представления к контроллеру

Я хочу сделать двустороннюю привязку данных из моего представления к контроллеру. можно ли это сделать с помощью ng-модели? однако он отображает undefined в контроллере.

Мой код выглядит примерно так:

<span ng-model="xyz">${user.group}</span>

и в моем контроллере: console.log($scope.xyz); // возвращает неопределенное значение.

Какая польза от ng-модели, если я не могу использовать ее таким образом? Может ли кто-нибудь предложить обходной путь для этого?


person katpally    schedule 15.08.2014    source источник
comment
Что такое ${user.group}?   -  person Rob    schedule 15.08.2014
comment
он исходит из класса java при загрузке представления.   -  person katpally    schedule 15.08.2014
comment
Ну, вы пытаетесь получить текст диапазона. Это не работает таким образом.   -  person Rob    schedule 15.08.2014
comment
Не могли бы вы подсказать, что тогда делать?   -  person katpally    schedule 15.08.2014
comment
Двусторонняя привязка работает следующим образом: ‹input type=text ng-model=name›{{name}}   -  person Rob    schedule 15.08.2014
comment
ну да, я знаю, как работает двухсторонняя привязка. Но я хочу иметь возможность использовать данные в ${user.group} в моем контроллере. в любом случае я могу это сделать?   -  person katpally    schedule 15.08.2014
comment
Обычно контроллер присваивает json модели области видимости. Таким образом, в вашем контроллере у вас будет $scope.user = {group:'whatever'}; Но не видя больше кода, трудно дать больше ясности.   -  person Rob    schedule 15.08.2014


Ответы (2)


Ваша проблема в том, что ng-модель должна быть привязана к фактическому значению. Промежутки не имеют значения, связанного с ними, как входные данные, поэтому ваш $scope.xyz никогда не будет установлен, если вы не установите его в области. Даже после этого он ничего не делал с диапазоном. Вам также нужны двойные {{ и }} вокруг всего, а не одиночные {}. Вам также не нужен символ $ в html.

Пытаться :

<input type="text" ng-model="xyz" /> <span> {{xyz}} </span>
person rleffler    schedule 15.08.2014
comment
Спасибо, но я заработал, используя элемент span. например: ‹span ng-bind=getGp('${user.studentGroup}')›‹/span› - person katpally; 15.08.2014

Все заработало, мне не хватало передать аргумент этой функции в виде строки, мне просто нужно было сделать это с помощью ng-bind для тега span, например: ng-bind="getGp('${user.group}') "

Спасибо всем.

person katpally    schedule 15.08.2014