Angularjs $routeProvider未正确调用
我有点被我在应用程序中使用的路由提供商卡住了。我用咕噜声来丑化这一切,所以我开始怀疑这是否是其中的一部分 无论如何,app.config中的一些代码示例:Angularjs $routeProvider未正确调用,angularjs,route-provider,Angularjs,Route Provider,我有点被我在应用程序中使用的路由提供商卡住了。我用咕噜声来丑化这一切,所以我开始怀疑这是否是其中的一部分 无论如何,app.config中的一些代码示例: $locationProvider.html5Mode(true); $routeProvider.when('/home', { controller: 'theAppController', template: '' }).otherwise({ redirectTo : '/default' }); 控制器(
$locationProvider.html5Mode(true);
$routeProvider.when('/home', {
controller: 'theAppController',
template: ''
}).otherwise({
redirectTo : '/default'
});
控制器(目前位于app.js中)
在app.run期间,我将调用以下命令:
.run(
['$route', '$rootScope', '$location', function($route, $rootScope, $location) {
console.log($route);
}]
)
哪个是输出
Object {routes: Object, reload: function}
current: e.extend.e.extend
$$route: Object
controller: "theAppController"
keys: Array[0]
originalPath: "/home"
regexp: /^\/home$/
reloadOnSearch: true
template: ""
__proto__: Object
locals: Object
params: Object
pathParams: Object
__proto__: Object
reload: function (){u=!0;a.$evalAsync(l)}
routes: Object
__proto__: Object
为了快速测试$routeProvider是否真的被击中,我运行了(home1)
它正确地命中了否则将url更改为/default
我可以看到,通过转储路由服务,当前路由设置正确,但模板(虽然已测试且未显示任何内容,但为空)和该路由的控制器均未加载,我甚至无法使用不正确的控制器加载错误
有什么想法吗
快速编辑:我也在我的html中使用
<div ng-view></div>
我不能完全确定您的问题的确切内容,但我感觉您在被重定向到/default时无法加载任何内容,这是因为您没有处理路由:
$routeProvider.when('/home', {
controller: 'theAppController',
template: ''
}).when('/default', {
controller: 'theDefaultController',
template: '<p>You have been redirected to the default route<p>'
}).otherwise({
redirectTo : '/default'
});
app.controller("theDefaultController", function($scope){
console.log("I'm the Default controller!!!!!");
});
$routeProvider.when(“/home”{
控制器:“应用控制器”,
模板:“”
}).when(“/default”{
控制器:“默认控制器”,
模板:“您已被重定向到默认路由”
}).否则({
重定向到:'/default'
});
app.controller(“默认控制器”,函数($scope){
log(“我是默认的控制器!!!”;
});
在$$route:Object中有什么?一把小提琴也不错:)对不起,把缩进的部分弄乱了。这是目前的路线。我不能摆弄它,因为我觉得它是特定于我的应用程序设置的。我已经做了一个简单的原型,但它的工作。。。我开始认为这是丑陋的。我应该在handWait之前尝试一下ngmin,如果你没有使用ngmin(或类似的东西),那么控制器(“…”,函数($scope){
肯定会崩溃。$scope
不是一个可以有任意名称的参数。它是依赖注入的,所以它的名称非常重要。
<div ng-view></div>
$routeProvider.when('/home', {
controller: 'theAppController',
template: ''
}).when('/default', {
controller: 'theDefaultController',
template: '<p>You have been redirected to the default route<p>'
}).otherwise({
redirectTo : '/default'
});
app.controller("theDefaultController", function($scope){
console.log("I'm the Default controller!!!!!");
});