我正在使用新的角度,正如我被告知的那样 - 我正在摆脱$ scope对象。
因此,当我从html页面引用我的控制器时,我使用别名引用它:
<div ng-controller="MyController as ctrl">
<p>{{ ctrl.Hello }}</p>
</div>
我的问题是:当我使用路线时,我宣布我的一条路线为:
$stateProvider.state('myPage', {
url: "/myPage",
templateUrl: "./views/myPage.html",
controller: 'MyController'
})
在不使用$ scope的情况下,在这种情况下引用控制器的适当方法是什么?
答案 0 :(得分:3)
ui-router支持带有属性的controllerAs
。
$stateProvider.state('myPage', {
url: "/myPage",
templateUrl: "./views/myPage.html",
controller: 'MyController',
controllerAs: 'ctrl'
})
答案 1 :(得分:1)
将控制器与“controller as”语法和vm变量一起使用:
function MyController() {
// VM represents the View’s Model (aka ViewModel)
var vm = this;
// exports
vm.item = "Test item";
return vm;
}
this
分配给本地变量。我首选变量名为vm,您可以选择任意名称。vm
变量。view
上,使用控制器作为语法为控制器提供别名。