我有这个恼人的问题,当我刷新我的页面时,它没有重新加载控制器或状态。我使用的是ui-router和Angularjs。我不明白,因为只有一页有这个麻烦。 这是我的app.js: (有这个app.organization这个问题的页面):
var route = angular.module('route', ["ui.router","starter"])
route.config(function($stateProvider, $urlRouterProvider){
// For any unmatched url, send to /route1
$urlRouterProvider.otherwise("/app")
$stateProvider
.state('app',{
abstract:false,
url:"/app",
templateUrl: "views/header.html",
controller:"homeCtrl"
})
.state('app.organization', {
url: "/organization:id",
templateUrl: "views/organization.html",
controller:"homeCtrl"
})
.state('app.usersingle',{
url:"/user:id?page:iterate",
templateUrl: "views/single_user.html",
controller:"userCtrl"
})
.state('app.ticket',{
url:"/ticket:id/author:myid",
templateUrl: "views/ticket.html",
controller:"ticketCtrl"
})
});
在我的控制器中我将其声明为:
.controller('homeCtrl',['$state','$stateParams','$scope','dropdown','userdisplay','displayfilter','$q','$http',
function ($state,$stateParams,$scope,dropdown,userdisplay,displayfilter,$q,$http) {
// doing request etc...
}])
我真的不知道问题是从哪里来的,我怎么能解决它,任何帮助都会非常感激。
答案 0 :(得分:0)
因为我们的州定义对app.organization
不正确。
将其更改如下:
.state('app.organization', {
url: "/organization/:id",
templateUrl: "views/organization.html",
controller:"homeCtrl"
});
进一步观察我认为这个问题也是其他国家。纠正它们应该有效。有关详细信息,请参阅此处:https://github.com/angular-ui/ui-router/wiki/URL-Routing#url-parameters