javascript - 怎么在angularjs的config中使用service
怪我咯
怪我咯 2017-04-10 16:43:40
[JavaScript讨论组]

我最近想用angularjs写一个chrome app,但是chrome app禁用了history API。所以我想自己用angularjs的ui-router记录历史url来模拟页面返回,大致代码如下:

var app = app.module('myApp', ['ngAnimate', 'ui.router']);
app.constant('referrers', []);
app.config(function ($stateProvider, $urlRouterProvider, referrers) {
    $urlRouterProvider.otherwise('/');
    
    $stateProvider
        .state('/', {
            url: '/',
            templateUrl: 'views/list.html',
            onExit: function ($state) {
                referrers.push({name: $state.current.name, params: $state.params});
            }
        })
        .state('profile', {
            url: '/profile',
            templateUrl: 'views/list.html',
            onExit: function ($state) {
                referrers.push({name: $state.current.name, params: $state.params});
            }
        })
});

app.controller('myController', ['$scope', '$state', 'referrers', '$timeout', function ($scope, $state, referrers, $timeout) {
    $scope.isBack = false;
    $scope.viewBack = function () {

        if (referrers.length == 0) return false;
        $scope.isBack = true;
        // 删除记录并返回页面
        var prev = referrers.pop();
        $state.go(prev.name, prev.params);
    
        $timeout(function () {
            referrers.pop();
             $scope.isBack = false;
        }, 350);
    };
}])

现在我想把referrers.push({name: $state.current.name, params: $state.params});这段代码写到一个公共的方法里面,但是发现config无法注入service,该怎么做

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
迷茫
onExit: function ($state, yourService) { }
巴扎黑

Provider

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号