【问题标题】:ui-routing doesn't load an init function on AngularJSui-routing 不会在 AngularJS 上加载初始化函数
【发布时间】:2016-05-14 06:48:45
【问题描述】:

我有一个应用程序,我在其中使用ui-routing 实现页面导航。该应用的第一个版本如下所示:

登录页面对用户进行验证和验证,一旦获得批准,用户将通过一个按钮进入欢迎页面 - “点击查看图像”(与该特定用户相关的图像)。单击后,该按钮会将用户引导到他/她可以查看与该特定用户相关的图像的页面。我是通过触发ng-init() 函数来实现的,该函数在没有用户任何手势的情况下向后端发送 REST 调用。这个版本很好用。

在当前版本中,我意识到欢迎页面是多余的,想实现一个直接从登录页面到图片加载页面的路由,而不需要任何按钮点击。在这种情况下,我必须触发对后端的 REST 调用,中间没有任何页面。问题是,什么都没有出现。这次ng-init() 函数没有触发。登录后出现的页面仍然是空的,控制台上没有错误,我只是不明白出了什么问题。就好像路由需要在登录页面和实际应用程序功能之间的页面。当我独立于登录页面(使用完整路径而不是路由相对路径)加载“图像加载”页面时,它会渲染图像。但是当我通过路由服务时它停止工作。综上所述,独立的网络链接有效,但“伪装”的路由链接无效。

我确实意识到的一件事是,即使在 html 页面中正确指定了包含图像加载页面控件的 .js 页面,也没有被读取。以下是相关的代码:

app.js(路由):

function () {
    'use strict';

    angular
        .module('myApp', ['ngRoute', 'ngCookies'])
        .config(config)
        .run(run);

    config.$inject = ['$routeProvider', '$locationProvider'];
    function config($routeProvider, $locationProvider) {
        $routeProvider
            /*.when('/', {
                controller: 'HomeController',    
                templateUrl: '../loginapp/home/home.view.html',
                controllerAs: 'vm'
            })*/

            .when('/landing', {   //welcome page
                controller: 'GeneralController',
                templateUrl: '../html/landingpage.html',
                controllerAs: 'vm'
            })

             .when('/load', {     //image load page
                 controller: 'HomeController',
                 templateUrl: '../html/load.html',
                 controllerAs: 'vm'
             })


.........

在不起作用的页面中,没有太多可显示的代码。一切都很简单(并且在未链接到路由器时确实有效)我基本上在我的 html 页面上声明了一个控制器并通过它调用 ng-init() 函数..

有什么想法吗?

【问题讨论】:

    标签: javascript html angularjs angular-ui-router


    【解决方案1】:

    您是否在登录控制器中使用了 $location.path('/landing')?

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 2021-01-07
      • 2013-07-01
      • 2013-08-07
      • 1970-01-01
      相关资源
      最近更新 更多