我正在开发一个移动应用程序,其中列出了一些项目。可以下拉此列表以启动列表的刷新(我使用的是 iScroll4)。我现在正在尝试将此事件连接到我的角度控制器,以便我可以进行 api 调用并更新模型。
javascript基本上如下:
[..] //javascript code to detect the pulldown event
function pullDownAction(){
//I want to update the scope here
}
根据我所阅读的内容,我需要制作一个角度指令并从那里调用事件,但我仍然没有弄清楚上面的代码应该去哪里。
我还尝试从 pullDownAction 函数中广播事件并在控制器中收听它,如下所示:
function pullDownAction(){
var $rootScope = angular.injector(['ng']).get('$rootScope');
$rootScope.$apply(function(){
$rootScope.$broadcast('updateInbox');
});
});
然后在控制器中:
$scope.$on('updateInbox', function(){
$http.get(apiUrl)
.success(function (data) {
$scope.model = data;
});
});
但我确定我遗漏了一些重要的东西,导致代码无法正常工作。我对 Angular 很陌生,所以我还没有真正了解指令的工作原理。