ng-controller有效,但$ state中的控制器不起作用

时间:2014-04-26 12:47:55

标签: angularjs angular-ui-router

如果我尝试在$elementProvider上定义控制器,我遇到问题$state,例如:

.state('tournament', {
   url: '/tournament',
   controller: 'TournamentController',
   templateUrl: '/views/tournaments/index.html'
})

但如果我在模板中这样做,它可以正常工作:

<div class="ui form segment" ng-controller="TournamentController">

如何使其与$ state一起使用?

1 个答案:

答案 0 :(得分:0)

这是国家路线的工作声明:

    var ConfEditorApp = angular.module('ConfEditorApp', ['ngAnimate', 'ui.router']);

ConfEditorApp.run(['$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
}]);

ConfEditorApp.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
    function ($stateProvider, $urlRouterProvider, $locationProvider) {
        $urlRouterProvider.otherwise("Index")
        $stateProvider
.state('Databases', {
            url: '/Databases',
            templateUrl: 'Partials/Databases.html',
            controller: 'DatabasesSectionCtrl as databasesSection'
            });
    }]);

这是控制器声明:

ConfEditorApp.controller('DatabasesSectionCtrl', ['$state', '$stateParams', '$location', '$scope', '$http', '$window',
  function ($state, $stateParams, $location, $scope, $http, $window) {
......

尝试检查代码中是否有错误或提供更多信息,以便我们结帐