AngularJS控制器不绑定输入控件

时间:2015-07-23 01:43:37

标签: angularjs data-binding

我正在使用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);
}());

0 个答案:

没有答案