我正在使用UI路由器在我的所有路由上初始化ControllerAs。我遇到的问题是,当我点击编辑记录时,它会将我带到另一个页面,该页面也会从当前页面传递ID以从服务中获取记录并且数据绑定html字段。
在我的控制器类中。我写的时候
var vm = this; //DOES NOT DATABIND
var vm = $scope; // THIS WORKS, FIELDS GET POPULATED.
不确定我做错了什么。第一行代码应该可以工作,因为我正在使用ControllerAs吗?
有人可以提供建议吗。
谢谢
//UI ROUTER
.state('dashboard.editUser',
{
url: '/editUser/:UserId',
templateUrl: 'app/components/admin/user/editUser.html',
controller: 'editUserController',
controllerAs: 'tF',
ncyBreadcrumb:
{
parent: 'dashboard',
label: 'Edit User'
},
});
//EDIT CONTROLLER
(function () {
var injectParams = ['$stateParams', '$state', 'userService'];
function editUserController($stateParams, $state, userService) {
var vm = this;
//load user
var loadUser = function () {
var userId = $stateParams.UserId;
vm.user = null;
userService.GetUserDetail(userId)
.success(function (data) {
vm.user = data;
})
.error(function (error) {
vm.status = 'Error retrieving data! ' + error.message;
});
};
loadUser();
};
editUserController.$inject = injectParams;
angular
.module('fatApp.userModule')
.controller('editUserController', editUserController);
}());