重新加载页面时刷新状态和控制器

时间:2016-05-11 07:56:00

标签: angularjs angular-ui-router

我有这个恼人的问题,当我刷新我的页面时,它没有重新加载控制器或状态。我使用的是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...

}])

我真的不知道问题是从哪里来的,我怎么能解决它,任何帮助都会非常感激。

1 个答案:

答案 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