我写了这个简单的 jsfiddle,在其中我(成功地)在 ng-repeat 的指令上做了一些基本的 addClass。
现在,我的问题是:哪个是进行此类 DOM 操作的最佳(或预期)位置:
A. 在指令中?
B. 在控制器中?
我的示例中显示了这两种可能性。
代码:
var TestApp = angular.module("TestApp", ['ngResource']);
TestApp.directive('onLoad', function() {
return {
restrict: 'A',
link: function(scope, elm, attrs) {
elm.addClass('loaded'); // A: DOM manipulation in directive
scope.initMe(scope.$eval(attrs.onLoad2), elm); // B: DOM manipulation handled in controller
}
};
});
提前致谢 :)