使用ui-router - 有没有办法提供控制器文件的路径?

时间:2016-06-24 22:07:13

标签: javascript angularjs

我正在使用ui-router创建一个非常基本的角度应用程序,我现在有3个“模块”,它们是homeloginregister。以下是我如何定义它们:

'use strict';

var app = angular.module('exampleApp', [
  'ui.router',
  'ngAnimate',
  'ui.bootstrap'
]);

app.config(function($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/');

  $stateProvider
    .state('home', {
      url: '/',
      templateUrl: './main/home/home.html',
      controller: './main/home/home-controller.js'
    })
    .state('login', {
      url: '/login',
      templateUrl: './main/login/login.html',
      controller: './main/login/login-controller.js'
    })
    .state('register', {
      url: '/register',
      templateUrl: './main/register/register.html',
      controller: './main/register/register-controller.js'
    })
})

但是,我认为我在controller:部分做错了。我想为每个“模块”定义每个控制器,我不知道该怎么做。

这是我的文件结构 -

enter image description here

1 个答案:

答案 0 :(得分:2)

首先定义您的控制器。

angular.module('exampleApp').controller('loginCtrl', function () { 
 // ctrl task goes here.
});

将控制器映射到路线。

$stateProvider.state('login', {
              url: '/login',
              templateUrl: 'path/to/login.html',
              controller: 'loginCtrl'
            })