ui-routing不会在AngularJS上加载初始化函数
问题描述:
我有一个应用程序,在那里我使用ui-routing
实现页面导航。该应用程序的第一个版本如下所示:ui-routing不会在AngularJS上加载初始化函数
登录页面验证和验证用户,一旦批准,用户将被路由到一个单一按钮的欢迎页面 - “点击查看图像”(与此相关的图像特定用户)。一旦点击,该按钮将用户路由到他/她可以查看与该特定用户相关的图像的页面。我这样做是通过触发一个ng-init()
函数来实现的,该函数将REST调用发送到后端,而不需要用户任何手势。这个版本效果很好。
在当前版本中,我意识到欢迎页面是多余的,并且希望直接从登录页面到图片加载页面实现路由而无需点击任何按钮。在这种情况下,我不得不将REST调用触发到后端,而没有任何页面。问题是,没有出现。这次ng-init()
函数不会触发。登录后出现的页面仍然是空的,控制台上没有错误,我只是不明白什么是错误的。就好像路由需要在登录页面与实际应用功能之间的页面。当我独立于登录页面(使用完整路径而非路由相对路径)加载“图像加载”页面时,它确实呈现图像。但是,当我通过路由服务停止工作时。总之,独立的网络链接工作,但“伪装”的路由链接没有。
我意识到的一件事是,包含图片加载页面控件的.js页面甚至没有被读取,即使它在html页面中被正确指定。这里的代码中的相关部分:
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()
函数..
有什么想法吗?
答
您在登录控制器中使用$ location.path('/ landing')吗?