好吧,我有点不解。
我试图认为角度方式来自jQuery背景。
问题:
我只是想隐藏一个固定的元素,如果窗口没有滚动。如果有人向下滚动页面,我想隐藏的元素。
我已经尝试创建一个自定义指令,但我不能让它工作,因为滚动事件不发射。我正在想一个简单的控制器,如下,但它甚至没有运行。
控制器:
.controller('MyCtrl2',function($scope,appLoading,$location,$anchorScroll,$window ) { angular.element($window).bind("scroll",function(e) { console.log('scroll') console.log(e.pageYOffset) $scope.visible = false; }) })
视图
<a ng-click="gotoTop()" class="scrollTop" ng-show="{{visible}}">TOP</a>
LIVE PREVIEW
http://www.thewinetradition.com.au/new/#/portfolio
任何想法将非常感谢。
基本指令看起来像这样。一个关键点是你需要调用范围$ apply(),因为滚动将在正常的摘要周期之外运行。
app = angular.module('myApp',[]); app.directive("scroll",function ($window) { return function(scope,element,attrs) { angular.element($window).bind("scroll",function() { scope.visible = false; scope.$apply(); }); }; });
我发现这个jsfiddle它演示了很好的http://jsfiddle.net/88TzF/