我似乎无法获得elementById所以我试图找出如何在指令中调用函数。
<div class="class" home-page"></div>
module.controller('AppController', function($scope) {
$scope.callDirect = function() {
$scope.callFunction();
};
}
module.directive("homePage", function ($window) {
return {
scope: { homePage: '&callbackFn' },
link: function(scope, element, attrs) {
element.bind('scroll', function () {
});
scope.callFunction = function()
{
console.log(element[0].scrollTop);
}
},
};
});
我觉得这在javascript中真的很容易,但是使用Angular真的很难。我想要做的就是通过单击按钮滚动到顶部。
答案 0 :(得分:2)
有几个框架,ngSmoothScroll和angular-smoothscroll是两个框架,它们可以让您轻松地完成所需的工作。
至于Angular更难说的话。我可以看到它来自哪里,有一次我想到了同样的事情。然而,它确实没有,如果有的话,它会变得更容易。它只需要一种不同的思维方式。因此,当发生挫折时,请记住隧道末端的灯光。
我还没有运行此代码片段以了解它是否可行,但这是一个放入指令的示例函数
element.bind('click', function () {
console.log(element[0].scrollTop());
});
我不确定是否定义了元素[0] .scrollTop。