javascript - 如何在我的应用程序中包含和使用 ui-router 而不会出现注入(inject)器错误?

标签 javascript angularjs angular-ui-router angularjs-routing angularjs-injector

更新我已恢复到包含任何 ui-router 之前的状态

<小时/>

我遇到了可怕的 $injector 错误,我无法解决,我已经恢复了,需要知道如何简单地包含 ui-router 并添加一个 Config 函数,该函数将简单地将用户路由到/login加载/login.html

我以前已经这样做过很多次了,只是这次不行。

(function() { "use strict";

    var app = angular.module('tickertags', [
        'infinite-scroll',
        'apiFactory',
        'scopeFactory',
        'tagFactory',
        'tickerFactory',
        'timeSpanFactory',
        'overlayDirective',
        'searchPopoverDirectives',
        'notificationDirectives',
        'platformHeaderDirectives',
        'controlHeaderDirectives',
        'viewHeaderDirectives',
        'alertsPanelController',
        'alertPanelDirectives',
        'tickersPanelDirectives',
        'tickersSelectFactory',
        'tagsPanelDirectives',
        'tagDetailsFactory',
        'tagHoverDirective',
        'tagSearchDirective',
        'tagsFilterDirective',
        'focusMeDirective',
        'chartHeaderController',
        'chartHeaderDirectives',
        'chartPanelDirective',
        'chartIQDirective',
        'socialMediaController',
        'socialMediaDirectives',
        'socialMediaFactory'
    ])
    .controller('DashCtrl', Controller);

    /*
        I WANT TO ADD THE CONFIG HERE...
        /login = login.html
    */

    Controller.$inject = [
        '$scope',
        '$rootScope',
        'ScopeFactory',
        'TickerFactory'];

    function Controller($scope,
                        $rootScope,
                        ScopeFactory,
                        TickerFactory) {

        /** Init DashCtrl scope */
        /** ----------------------------------------------------------------- */
        var vs          = $scope;
            vs.showNote = true,
            vs.mouseX   = '',
            vs.mouseY   = '';
            ScopeFactory.saveScope('root', vs);

        /** Detect if a tagHover has been shown and ready bodyClick to close */
        vs.$on('tagHoverOpen', function(events,data) {
            vs.bodyClick = function() {
                $rootScope.$broadcast('bodyClick');
            };
        });

        /** Remove eventListener after tagHover is closed */
        vs.$on('destroy', function() {
            vs.bodyClick = angular.noop();
        });

        /** Get and store all tickers, eventually just first 100 */
        getAllTickers();

        function getAllTickers() {
            TickerFactory.getTickers();
        };

    };

})();

最佳答案

您需要在应用程序模块中添加 ui.router 模块才能使用 Angular ui.router 功能。

代码

var app = angular.module('tickertags', [
    //..other modules here.
    'socialMediaFactory',
    'ui.router' //<--added it
])

关于javascript - 如何在我的应用程序中包含和使用 ui-router 而不会出现注入(inject)器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515313/

相关文章:

angularjs - 使用 UI Router 解析并传递给组件的 Controller

javascript - 无法将对象数组从父组件传递到子组件

javascript - 服务器端重定向后未检测到 AngularJS ui-router 状态

javascript - 特定元素之后的 querySelector

javascript - 如何使Angular的服务可供独立对象使用; Angular JS

javascript - angularjs ui.router 抛出错误 : Unexpected request: GET

javascript - moment.js 仅对同一文件中定义的两个指令之一可见

html - 如何将查询字符串附加到 Angular ui-router 中的 URL

javascript - 如何在网络爬虫中以编程方式设置 Angular JS 选择值?

javascript - 从javascript中具有相同类的文本字段中检索值