数据绑定不适用于AngularStrap Modal AngularJS

时间:2015-12-15 18:02:18

标签: javascript angularjs angular-strap

我使用Angular Straph Modal更改用户密码,我定义了2个空变量,当用户点击按钮更改时,调用函数并将参数发送到我们的API,但是某些原因它无法正常工作,如果我将相同的输入与相同的变量和函数放在模态之外,它可以毫无问题地进行数据绑定,我已经检查了模态$scope并且它可以工作但是对于我无法获得用户填写数据的一些原因,我总是得到null而不是用户价值。

这是我的HTML。

    <div class="u-Basic-Modal--body">
        <div class="form-group">
            <label>Contraseña Actual:</label>
            <input type="password" class="form-control" ng-model="oldPassword"/>
            {{ oldPassword }}
        </div>
        <div class="form-group">
            <label>Nueva Contraseña:</label>
            <input type="password" class="form-control" ng-model="newPassword"/>
            {{ newPassword }}
        </div>
    </div>
        <div class="u-Basic-Modal--footer text-right">
            <button class="u-Basic-Modal--button cancel" ng-click="$hide()">Cancelar</button>
            <button class="u-Basic-Modal--button success" ng-click="changePassword()">Aplicar</button>
        </div>

我的控制器。

app.controller('usersProfileCtrl', ['$scope', 'apiService', '$rootScope', 'userResolution', 'statusBarService',
    '$modal', function($scope, apiService, $rootScope, userResolution, statusBarService, $modal) {

        $scope.user = $rootScope.userData;
        $scope.newPassword = null;
        $scope.oldPassword = null;

        userResolution().then(function() {
            if ($scope.user.firstName === null) {
                $scope.user.firstName = '';
            } if ($scope.user.lastName === null) {
                $scope.user.lastName = '';
            }
        });

        $scope.saveData = function() {
            apiService.saveUser($scope.user).success(function() {
                apiService.getUser($scope.user.id).success(function(response) {
                    statusBarService.showNote('LABEL_DONE', true);
                    $scope.user = response.data;
                });
            });
        };

        var importsModal = $modal({
            scope: $scope,
            template: 'components/administration/users/changepassword-tpl.html',
            show: false
        });

        $scope.setPassword = function() {
            importsModal.$promise.then(importsModal.show);
        };

        $scope.changePassword = function() {
            apiService.changeUserPassword($scope.user, $scope.newPassword, $scope.oldPassword)
                .success(function() {
                    importsModal.hide();
                });
        };
}]);

希望你们能帮助我。 此致!

0 个答案:

没有答案