angularjs $ routeProvider-找不到路由 [英] angularjs $routeProvider - route not found
本文介绍了angularjs $ routeProvider-找不到路由的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在将angularjs与requirejs一起使用.我遇到了无法正确路由的问题.它一直在路由到/.如果我将/post更改为/:post,它将击中我的发布路线.
I am using angularjs with requirejs. I am running into a problem where my routes are not being routed properly. It's constantly routing to /. If I change /post to /:post it hits my post route.
// module/post.js
define([], function () {
'use strict';
var app = angular.module('myApp.post', [])
.config(['$routeProvider',
function($routeProvider) {
$routeProvider.when('/post', {
controller: 'PostController',
template: "<div>{{page}}</div>"
}
);
}
]);
return app;
});
// main.js
require.config({
baseUrl: '/static/js',
paths: {
angular: 'vendor/angular/angular',
jquery: 'vendor/jquery/jquery',
_: 'vendor/underscore/underscore'
},
shim: {
angular: {
exports: angular
}
}
});
require([
'module/post'
], function() {
'use strict';
var app = angular.module('myApp', [
'myApp.post'
])
.config(['$routeProvider',
function($routeProvider) {
$routeProvider.otherwise({
redirectTo: '/'
});
}
]);
$(function(){
angular.bootstrap(document, ['myApp']);
$('html').addClass('ng-app: myApp');
});
});
推荐答案
我的愚蠢错误.如果有人遇到此问题,我将保留此问题.
Dumb mistake on my part. I'll leave this question opened in case someone runs into this problem.
我没有启用html5模式
I did not have html5 mode on
var app = angular.module('myApp.post', [])
.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.when('/post', {
controller: 'PostController',
template: "<div>{{page}}</div>"
}
);
$locationProvider.html5Mode(true);
}
]);
否则,我的网址将与hashbang映射 localhost/#post而不是/post
otherwise my urls would map with hashbang localhost/#post instead of /post
这篇关于angularjs $ routeProvider-找不到路由的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文