javascript - AngularJS 中的后台服务

标签 javascript angularjs url service

我正在尝试创建一个在后台运行的服务,并监视 URL 更改并将新参数发送到各个 Controller 。

我知道我需要在 app.run 中启动此服务,以便它从一开始就启动。 我没有使用 ng-router 提供程序,因此我没有使用 $locationchangesuccess 或 $stateChangeStart。 此外,我不能使用 $scope.$watch 因为这是一项服务。

有什么想法吗?

最佳答案

也许做一个$watch:

angular.module('myModule', []).run(myUrlWatcher);

function myUrlWatcher($rootScope, $location) {
    'ngInject';
    $rootScope.$watch(function () {
        return $location.url();
    }, function () {
        /// ....
        console.log('in-app url changed, do wahtever you want to do here')
        // ....
    })
}

关于javascript - AngularJS 中的后台服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356026/

相关文章:

javascript - 单页应用程序中的后退按钮处理?

javascript - 如何访问包含 '-' 个字符的对象字段

javascript - Javascript 中的纪念品

javascript - 按下按钮时等待 3 秒,然后提交 javascript

javascript - 无法使用 angularjs 从 json 获取特定 ID 的计数

oracle - 自定义登录后重定向功能 Post_Login

javascript - 在 DOM 加载之前使用 Js/jQuery 定位 iframe

javascript - 为什么这个 Angular 选择包装器指令不起作用?

angularjs - 将数据返回到 Controller 时,AngularJS Factory 出现问题

java - 以编程方式下载文件