2015-01-10 4 views
0

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

Зачеркнутая строка шаблона отображает значения, которые я ожидаю, но без ранения не работает должным образом. Я удалил некоторые атрибуты из ng-dropdown-multiselct для удобочитаемости. Если я устанавливаю значения вручную, ng-dropdown-multiselect работает так, как ожидалось, поэтому я знаю, что разметка верна, просто невозможно установить значения.

Любая помощь была бы принята с благодарностью!

.directive('myFilter', [function() { 
    return { 
     //template: '<div>{{ PreparersCustomTexts }}</div>', 
     template: '<div ng-dropdown-multiselect="" translation-texts="PreparersCustomTexts"></div>', 
     restrict: 'E', 
     scope:'=', 
     link: function postLink(scope, element, attrs) { 

     scope.PreparersCustomTexts = { buttonDefaultText: 'Select Preparers' }; 

     } 
    }; 
    }]) 
    ; 

ответ

0

Проблема может быть в вашем html. Вы должны добавить это к своему вопросу.

В то же время, вот пример кода с использованием вашей директивы и plunker с вашей директивой, успешно захватывающей значения области для любого определения шаблона!

angular.module('plunker', []) 
 
.directive('myFilter', function() { 
 
    return { 
 
     template: '<div>{{ PreparersCustomTexts }}</div>', 
 
     //template: '<div translation-texts="PreparersCustomTexts">test</div>', 
 
     restrict: 'E', 
 
     scope:'=', 
 
     link: function postLink(scope, element, attrs) { 
 

 
     scope.PreparersCustomTexts = { buttonDefaultText: 'Select Preparers' }; 
 

 
     } 
 
    }; 
 
    }) 
 
    ;
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-app="plunker"> 
 
    <div> 
 
     <p>Hello {{name}}!</p> 
 
     <my-Filter></my-Filter> 
 
    </div> 
 
    </body> 
 

 
</html>

+0

Если я изменить атрибут перевода-текстов на то, что происходит в рамках он работает. Я должен уточнить, что проблема возникает при использовании директивы ng-dropdown-multiselect. ' // это работает перевода текстов-= "{buttonDefaultText: \ 'Выберите составителей \'}" // это не работает перевод-тексты = "PreparersCustomTexts" ' Спасибо! – ben

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