私は次のものを持っていconfig
ますcontrollers
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: 'page-home.html',
controller: 'homeController',
controllerAs: 'hctrl'
})
.when('/about', {
templateUrl: 'page-about.html',
controller: 'aboutController',
controllerAs: 'actrl'
})
.when('/contact', {
templateUrl: 'page-contact.html',
controller: 'contactController',
controllerAs: 'cctrl'
});
})
.controller('homeController', function(){
this.pageClass = 'page-home'
})
.controller('aboutController', function(){
this.pageClass = 'page-about'
})
.controller('contactController', function(){
this.pageClass = 'page-contact'
});
私の問題は、で使用するときに発生しますindex.html
。
<div class="page {{pageClass}}" ng-view></div>
を使っていないので$scope
、書くだけで{{pageClass}}
はうまくいきません。を使用してこれを回避するにはどうすればよいcontroller as syntax
ですか?
編集
私はいくつかの良い答えを得ました。controllerAs
値に別の名前を付けたい場合は、これを行う別の方法も発見しました: hctrl
, actor
and ctrl
(上記のコードのように):
htmlでこれを行うことができます:
<div class="page {{hctrl.pageClass || actrl.pageClass || cctrl.pageClass}}" ng-view></div>