0

Я очень новичок в angularjs, и я пытаюсь это изучить. Прошу прощения, если я задам какой-то тупой вопрос, поскольку я нахожусь на кривой обучения.значение доступа из пользовательской директивы angularjs

Я создал многоразовую настраиваемую директиву, которая работает очень хорошо. Мой полный код на http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview

$scope.validateSingle = function(item) { 
        $scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : ""); 
        $scope.value = item[$scope.valueField]; 
        console.log($scope.value); 
        $scope.placeholder = 'placeholderBlack'; 
        $scope.hideItems(); 
        if (typeof $scope.callback == 'function') { 
         $scope.callback($scope.value); 
        } 
       } 

Я также присваивающее это значение в приведенной выше коде, который является частью моей plunker

Теперь мой вопрос после того, как я выбираю пункт я хочу, чтобы он дорожит для последующих который я присвоил в $ scope.validateSingle функции с $ scope.value, но я не знаю, как получить к нему доступ, и если у меня есть более одной директивы на странице, чем как мы можем получить доступ к ее значению независимо.

Я хочу, чтобы директива работала как выпадающий список, когда я выбрал элемент, и если бы я хотел его значение в какой-либо кнопке то я мог бы использовать как dropdown.value, где выпадающее меню может быть id директивы. Надеюсь, я смогу прояснить свою точку зрения.

+0

Я уже добавил свой plunker, но на ваш комментарий я также добавил коды – Milind

+0

ссылки, включая Punkr следует использовать в качестве эталона только как нет никаких гарантий того, что ссылки будут по-прежнему жить в будущем. –

+0

И, пожалуйста, не используйте сокращения URL, легко маскируя спам таким образом. Вы хотите, чтобы мы нажали на ссылку, сообщите нам, что это такое – charlietfl

ответ

0

Как я уже говорил вам, что я учусь кривой, и я пытался поставить тот же вопрос в разных форумах, но я не мог получил ответ

Но вдруг что-то спусковой крючок в моей голове, что, почему мы не можем использовать ngModal, которые действуют как ngBind, который я хочу, так что первый в моей директиве я добавил

require: 'ngModel', 

Тогда в моей функции $ scope.validateSingle Я добавил ngModel.$setViewValue($scope.value); где $ scope.value я назначая с выбранным значением так что моя функция validateSingle стать например

  $scope.validateSingle = function(item) { 
       $scope.text = item[$scope.textField] + ($scope.textField2 !== '' ? " (" + item[$scope.textField2] + ")" : ""); 
       $scope.value = item[$scope.valueField]; 
       $scope.placeholder = 'placeholderBlack'; 
       $scope.hideItems(); 
       if (typeof $scope.callback == 'function') { 
        $scope.callback($scope.value); 
       } 

       ngModel.$setViewValue($scope.value); 
      } 

Таким образом, каждый битва, работающая как шарм, как я и хотел. Я отредактировал мой plunker также вы можете проверить на http://plnkr.co/edit/GxM78QRwSjTrsX1SCxF7?p=preview

Надеются, что это поможет в каком-то новом обучающийся

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