UI的路由器ControllerAs结合路由器、UI、ControllerAs

2023-09-13 04:39:28 作者:芸芸众生你是人间四月

UI路由器状态:

$stateProvider
    .state('dashboard', {
        url: '/dashboard',
        templateUrl: 'app/dashboard/dashboard.html',
        controller: 'DashboardController as vm'
    });

在DashboardController我有:

In DashboardController I have:

var vm = this;
vm.title = 'Dashboard';

和在dashboard.html模板:

And in dashboard.html template:

{{vm.title}}

为什么结果显示{{vm.title}},而不是绑定到它在控制器的价值?

Why the result is showing "{{vm.title}}" instead of bind to it's value in controller?

推荐答案

有在配置状态的一个controllerAs设置。

There's a controllerAs setting when you configure the state.

$stateProvider
    .state('dashboard', {
        url: '/dashboard',
        templateUrl: 'app/dashboard/dashboard.html',
        controller: 'DashboardController',
        controllerAs: 'vm'
    });

https://github.com/angular-ui/ui-router/wiki