Во-первых, мне очень жаль, если следующие вопросы звучат глупо. Я знаю, что есть документация, но недостаточно примеров, и я совсем новичок в этом.
Я попытался создать директиву, которая могла бы использовать ng-repeat
Однако это выглядит так, когда директива связана, ng-repeat
вообще не оценивалась. Поэтому всякий раз, когда я пытался вызвать функцию jQuery внутри функции postlink
, jQuery не работала.
<div my-directive>
<div ng-repeat="image in images">
<img ng-src="image">
</div>
</div>
Объем содержит что-то вроде этого:
scope.images = ['http://placehold.it/100x100', 'http://placehold.it/100x100'];
В директиве у меня было примерно следующее:
angular.module('mymodule', []).directive('myDirective', function factory() {
return {
restrict: 'A',
compile: function (tElement, tAttrs, transclude) {
// #1
return {
pre: function preLink(scope, iElement, iAttrs, transclude) {
// #2
},
post: function postLink (scope, iElement, iAttrs, controller) {
// #3
}
};
},
link: function postLink(scope, iElement, iAttrs) {
// jQuery code to convert the element
// #4
}
};
});
Кроме того, в чем разница между размещением кода в #1, #2, #3 и #4 выше? Каково здесь эмпирическое правило?
Куда поместить код, например, $( "#datepicker" ).datepicker();
из jQueryUI? Поскольку, насколько я понимаю, функция будет манипулировать (преобразовывать) элемент и его дочерние элементы.
Спасибо.
$( "#datepicker" ).datepicker()
должно быть в функции ссылки/поста - person Arun P Johny   schedule 04.03.2013my-directive
, будет ли работатьng-repeast
- person Arun P Johny   schedule 04.03.2013my-directive
ng-repeat
и без него работает. Дело в том, что когда вызываетсяpostLink
, я не думаю, чтоng-repeat
еще не оценивается. Итак, когда кодjQuery
выполняется вpostLink
, код не вступает в силу и результат на странице только повторяется<div><img></div>
- person verdy   schedule 05.03.2013