ui-具有 ControllerAs 绑定的路由器
ui-router with ControllerAs binding
ui-路由器状态:
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'app/dashboard/dashboard.html',
controller: 'DashboardController as vm'
});
在 DashboardController 中我有:
var vm = this;
vm.title = 'Dashboard';
并且在 dashboard.html 模板中:
{{vm.title}}
为什么结果显示“{{vm.title}}”而不是绑定到它在控制器中的值?
配置状态时有一个controllerAs设置。
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'app/dashboard/dashboard.html',
controller: 'DashboardController',
controllerAs: 'vm'
});
在你的 controller function
中,你必须 return this;
在函数的末尾。
var vm = this;
vm.title = 'Dashboard';
//
return vm;
如果我们使用 $scope 而不是 vm = this;
:
$scope.title = 'Dashboard';
//
return $scope;
祝你好运。
ui-路由器状态:
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'app/dashboard/dashboard.html',
controller: 'DashboardController as vm'
});
在 DashboardController 中我有:
var vm = this;
vm.title = 'Dashboard';
并且在 dashboard.html 模板中:
{{vm.title}}
为什么结果显示“{{vm.title}}”而不是绑定到它在控制器中的值?
配置状态时有一个controllerAs设置。
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'app/dashboard/dashboard.html',
controller: 'DashboardController',
controllerAs: 'vm'
});
在你的 controller function
中,你必须 return this;
在函数的末尾。
var vm = this;
vm.title = 'Dashboard';
//
return vm;
如果我们使用 $scope 而不是 vm = this;
:
$scope.title = 'Dashboard';
//
return $scope;
祝你好运。