【发布时间】: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