Используйте ng-модель в директиве и контроллере - PullRequest
0 голосов
/ 26 апреля 2018

Возможно ли получить доступ в директиве к модели ng, связанной с контроллером?

<input type="text" ng-model="ctrl.valuelist.value" />

Контроллер:

ctrl.valuelist.value = 'initial value';

В директиве:

function Directive($window) {
  return {
    restrict: 'E',
    scope: {
    },
    controller: 'ctrl as ctrl',
    link: function(scope, elt, attrs){
      // something like this:

      scope.valuelist.value = 'New value';


    }
  };
}

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Вы можете передать атрибуты в вашу директиву двумя способами ('='), это означает, что когда вы вносите изменения в директиву, это отразится и на контроллере

function Directive($window) {
  return {
    restrict: 'E',
    scope: {
         list: '='
    },
    controller: 'ctrl as ctrl',
    link: function(scope, elt, attrs){
      // something like this:

      scope.list.value = 'New value';


    }
  };
}

И вы должны передать valuelist вашему примеру директивы:

<directive list='valuelist'></directive>
0 голосов
/ 26 апреля 2018
function Directive($window) {
  return {
    restrict: 'E',
    scope: {
      ngModel: '=' //<----- access to the model by this
    },
    controller: 'ctrl as ctrl',
    link: function(scope, elt, attrs){
      // something like this:

      scope.ngModel = 'New value';


    } 
  };
}

Я плеб, так что будь добр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...