请参阅我的代码段:
指令node
:
myModule.directive ('node', ['$compile', function ($compile) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var node = scope.node;
node.scrollTarget = element;
// ...
}
});
功能scroll
$scope.scroll = function (node) {
$scope.showTree (node);
$timeout (function () {
node.scrollTarget[0].scrollIntoView ();
}, 0, false);
};
每scroll
次调用 ng-click=scroll(node)
并更改模型(showTree
)以及进行一些dom操作(scrollIntoView
)。
据说在控制器中应避免使用dom操作。我怎样才能更好地写出来?