Standards 事件绑定是AngularJS方式吗?

Standards 事件绑定是AngularJS方式吗?,standards,angularjs,Standards,Angularjs,好的,所以我知道在使用AngularJS时,在控制器中进行任何DOM操作都被认为是不好的做法,您应该使用指令和$scope来处理这些东西,但是事件绑定呢?从外观上看,考虑到所有内置事件指令,如ngClick、ngMousedown、ngMouseenter等,这也是不可取的。。。但是如果是这样的话,我有一段代码,我不知道如何使用AngularJS 我正在构建的应用程序具有无限滚动,并使用以下代码段实现(当前位于控制器中): 这允许用户滚动页面,当页面到达存储具有无限滚动的数据的元素的底部时,它将

好的,所以我知道在使用AngularJS时,在控制器中进行任何DOM操作都被认为是不好的做法,您应该使用指令和$scope来处理这些东西,但是事件绑定呢?从外观上看,考虑到所有内置事件指令,如ngClick、ngMousedown、ngMouseenter等,这也是不可取的。。。但是如果是这样的话,我有一段代码,我不知道如何使用AngularJS

我正在构建的应用程序具有无限滚动,并使用以下代码段实现(当前位于控制器中):


这允许用户滚动页面,当页面到达存储具有无限滚动的数据的元素的底部时,它将启动函数以加载更多数据。现在我没有做任何DOM操作,所有的函数都只是更新附加到$scope的数据,我让AngularJS做DOM更新,但是这个事件绑定到AngularJS的最佳实践吗?如果是这样的话,我怎样才能以AngularJS的方式来实现这一点(我认为在这种情况下指令不起作用,因为我认为不可能将指令附加到文档对象)?

我认为目前没有AngularJS的方式来实现这种事件绑定。据我所知,为所有缺失的事件添加本机支持正在进行中,但尚未发布任何稳定版本

所以现在我们必须像你在问题中说的那样去做

不过,我认为,你需要这样做才能让它发挥作用:

$scope.$apply(
    function() {
        $scope.loadIssues();
    }
);

这是因为您正在从AngularJS外部处理事件。$apply可以确保AngluarJS收到任何模型更改的通知,以及由于loadIssues()调用而可能发生的类似事件。

我认为目前没有AngluarJS方法进行此类事件绑定。据我所知,为所有缺失的事件添加本机支持正在进行中,但尚未发布任何稳定版本

所以现在我们必须像你在问题中说的那样去做

不过,我认为,你需要这样做才能让它发挥作用:

$scope.$apply(
    function() {
        $scope.loadIssues();
    }
);

这是因为您正在从AngularJS外部处理事件。$apply可以确保AngluarJS收到由于loadIssues()调用而可能发生的任何模型更改和类似事件的通知。

我想我会尝试使用服务并运行来处理它,当你说“运行来处理它”时,你是指“学会处理它”吗?否则我不知道这意味着什么。不,我的意思是运行(初始化fn),使用此方法注册当前模块的喷油器加载完成时需要执行的工作。我想这可能会有帮助。我想我会试着用服务和跑步来处理它。当你说“跑步来处理它”时,你是说“学会处理它”吗?否则我不知道这意味着什么。不,我的意思是运行(初始化fn),使用此方法注册当前模块的喷油器加载完成时需要执行的工作。我想这可能会有帮助。