Angular $ routeProvider和Controller As Syntax

时间:2015-06-16 20:52:42

标签: angularjs routing angularjs-scope angularjs-routing ngroute

有人可以告诉我$routeProviderController as syntax一起使用是否合法?我在<h1>{{kickController.foo}}</h1>所在的控制器访问this.foo时遇到问题。

angular.module('ucp.kick', ['ngRoute']).config(function($routeProvider, APP_BASE_URL) {
  return $routeProvider.when(APP_BASE_URL + 'kicks', {
    reloadOnSearch: false,
    navitem: true,
    name: 'Kicks',
    templateUrl: 'kick/partials/kick.html',
    controller: 'kick as KickController'
  });
});

1 个答案:

答案 0 :(得分:10)

  

您无法在controller选项中添加controllerAs语法   $routeProvider.when

您应该使用controllerAs选项,该选项是以字符串格式获取控制器的别名,&amp; controller也接受将被视为角度控制器的字符串。

<强>代码

$routeProvider.when(APP_BASE_URL + 'kicks', {
    reloadOnSearch: false,
    navitem: true,
    name: 'Kicks',
    templateUrl: 'kick/partials/kick.html',
    controller: 'KickController'
    controllerAs: 'kick' //controller alias taken out from controller option
});

controller: 'KickController as kick'

Doc Link