![](/img/trans.png)
[英]AngularJs routing is not working properly and bootstrap also not working
[英]AngularJS routing not working during bootstrap, works after that
我已经在这上待了几天,我觉得我缺少一些东西。 我想创建一个webapp并开始设置我的angularjs基础。 在设置我的angularjs基础时,我遇到了路由问题。 这个问题看起来像是种族问题,但我似乎找不到它所在的位置。
启动我的angularjs网站时,路由无法正常工作。 甚至放$location.path("/dashboard");
在module.run中没有显示正确的视图。 但是,在加载网站后转到浏览器的地址栏并删除“#/ dashboard”中的“ dashboard”时,它会将我重定向到“#/ dashboard”并显示正确的视图。 引导我的有角度的webapp时,路由似乎不起作用。
我尝试了ngRoute
和UI-Router
。 两者导致相同的结果。
github上的 Webapp
应用程式:
require(['angular', 'ui-router'], (angular) => {
angular.module('monetaryreign.services', []);
angular.module('monetaryreign.ui', []);
var app = angular.module('monetaryreign', ['ui.router', 'monetaryreign.services', 'monetaryreign.ui']);
app.run(startup)
startup.$inject = ['$location'];
function startup($location) {
$location.path("/dashboard");
}
require(['angular', 'app/app.states'], (angular) => {
angular.bootstrap(document, ['monetaryreign']);
});
});
app.states.ts:
import angular = require('angular');
import dashboard = require('app/dashboard/dashboard.controller');
function routes($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider) {
var f = dashboard
var baseUrl = document.getElementById('base-url').getAttribute('value');
$stateProvider
.state('dasboard', {
url: '/dashboard',
templateUrl: baseUrl + 'app/dashboard/dashboard.html',
controller: 'DashboardController',
controllerAs: 'vm'
})
$urlRouterProvider.when('', '/dashboard');
$urlRouterProvider.otherwise('/dashboard');
}
routes.$inject = ['$stateProvider', '$urlRouterProvider'];
angular
.module('monetaryreign')
.config(routes);
尝试删除此行。
app.run(startup)
startup.$inject = ['$location'];
function startup($location) {
$location.path("/dashboard");
}
还有这个
$urlRouterProvider.when('', '/dashboard');
应该管用
您应该将$urlProvider.html5mode(true)
添加到应用程序配置中,并将标记<base href="/">
到HTML的头部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.