5

任何人都可以告訴我,如果它是有效使用$routeProviderController as syntax?我在訪問this.foo所在的控制器中訪問<h1>{{kickController.foo}}</h1>時遇到問題。

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' 
    }); 
}); 

回答

10

你不能在 $routeProvider.whencontroller選項添加controllerAs語法。

您應該使用已經提供了拍攝控制器的別名字符串格式controllerAs選項,& 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 
}); 

OR

controller: 'KickController as kick' 

Doc Link