Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2014, 14:00
Интересующийся
Отправить личное сообщение для dtzscln Посмотреть профиль Найти все сообщения от dtzscln
 
Регистрация: 16.07.2014
Сообщений: 15

И снова ngModelController
Хочу в своей кастомной директиве получить значение модели, т.е. как-то так:
<input type="radio" value="1" ng-model="age" my-custom>

app.directive("myCustom", function() {
   return {
      require: "ngModel",
      link: function(scope, elem, attrs, ngModel) {
         console.log(ngModel.$modelValue);  // always NaN :(
      }
   };
});

Но всегда получаю NaN
Даже если в контроллере задать $scope.age = 1;
Как же мне получить $modelValue?
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2014, 15:25
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

Сообщение от dtzscln Посмотреть сообщение
Как же мне получить $modelValue?
А где его нужно получить?
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2014, 13:39
Интересующийся
Отправить личное сообщение для dtzscln Посмотреть профиль Найти все сообщения от dtzscln
 
Регистрация: 16.07.2014
Сообщений: 15

Сообщение от MetaDriver Посмотреть сообщение
А где его нужно получить?
Внутри директивы, как я указал в примере выше.
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2014, 17:28
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

Сообщение от dtzscln Посмотреть сообщение
Внутри директивы, как я указал в примере выше.
Рано.
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2014, 10:28
Интересующийся
Отправить личное сообщение для Moonlight Посмотреть профиль Найти все сообщения от Moonlight
 
Регистрация: 18.05.2011
Сообщений: 25

Вот так должно работать:

console.log($scope.age);
Ответить с цитированием
  #6 (permalink)  
Старый 27.10.2014, 09:17
Интересующийся
Отправить личное сообщение для dtzscln Посмотреть профиль Найти все сообщения от dtzscln
 
Регистрация: 16.07.2014
Сообщений: 15

Цитата:
Рано.
Вы про параметр директивы priority?

Цитата:
console.log($scope.age);
Так будет работать, но такая директива будет не пригодна для повторного использования на других элементах с другими ng-model
Ответить с цитированием
  #7 (permalink)  
Старый 27.10.2014, 09:22
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

scope.$watch(attrs.ngModel, function(value) {
    console.log(value);
});

var value = scope.$eval(attrs.ngModel);

var getter = $parse(attrs.ngModel).bind(null, scope);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 27.10.2014 в 09:24.
Ответить с цитированием
  #8 (permalink)  
Старый 27.10.2014, 21:51
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

Сообщение от dtzscln Посмотреть сообщение
Вы про параметр директивы priority?
Я про то, что при линковке значение ngModel ещё недоступно (ещё не связалось со $scope). Добывайте это значение динамически в контроллере. nerv_ указал правильный путь (насчёт конкретной реализации - на его совести ).
Ответить с цитированием
  #9 (permalink)  
Старый 28.10.2014, 17:23
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Вспомнил, где я видел ТС. Это тот чел, кот. ни привета, ни ответа, ни спасибо не говорит.
Что ж, будет сам на свои вопросы отвечать
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова регулярки Зосимов Общие вопросы Javascript 7 16.09.2014 10:34
и снова select! amf1k Элементы интерфейса 7 11.08.2013 18:31
И снова RegExp Sektoid Общие вопросы Javascript 1 17.09.2012 14:55
И снова iframe DDestroy Общие вопросы Javascript 2 09.02.2011 06:50
Снова динамический select Lion_astana Элементы интерфейса 4 19.11.2010 11:48