当前位置:  开发笔记 > 编程语言 > 正文

AngularJS $ setPristine与TypeScript:form是未定义的

如何解决《AngularJS$setPristine与TypeScript:form是未定义的》经验,为你挑选了1个好方法。

当我尝试使用form.$setPristineTypeScript时,它不起作用,调试说form是未定义的.根据我的阅读,$scope.formName.$setPristine()将形式设置为原始.要从$scope.formName控制器访问,我将其作为ng.IFormController属性添加到我的自定义范围界面.但是,当我调用时$scope.form.$setPristine(),它不起作用,并且调试节目$scope.form未定义.

打字稿:

interface IMyScope extends ng.IScope {
    employees: Array;
    employeeToAdd: IEmployee;
    addEmployee(): void;
    form: ng.IFormController;
}

class EmployeeAddController {
    static $inject = ['$scope', 'Employees'];

    constructor(
        $scope: IMyScope,
        $modalInstance: ng.ui.bootstrap.IModalServiceInstance,  
        Employees: IUpdateableResourceClass
    ) {
        $scope.employees = new Array();

        $scope.employeeToAdd = {
            Name: '',
            Email: ''
        };

        $scope.addEmployee = function () {
            Employees.save(null, $scope.employeeToAdd, function (employee: IEmployee) {
                $scope.employees.push(employee);
                $scope.employeeToAdd.Email = '';
            $scope.employeeToAdd.Name = '';
                $scope.form.$setPristine(); // $scope.form is undefined
            });
        };
    }
} 

HTML:

Thomas Sobie.. 6

我在使用表单的应用程序中所做的是将表单对象传递给清除它的方法,而不是直接处理作用域.



$scope.clearAndResetForm = (form:ng.IFormController)=> {
   this.clearAndResetForm(form);
};


private clearAndResetForm(form:ng.IFormController) {
   this.$scope.fieldOne = undefined;
   this.$scope.fieldTwo = undefined;
   form.$setPristine();
}

我不完全确定为什么我的代码会工作,而你的代码却没有.但希望这种方法可以帮助你.



1> Thomas Sobie..:

我在使用表单的应用程序中所做的是将表单对象传递给清除它的方法,而不是直接处理作用域.



$scope.clearAndResetForm = (form:ng.IFormController)=> {
   this.clearAndResetForm(form);
};


private clearAndResetForm(form:ng.IFormController) {
   this.$scope.fieldOne = undefined;
   this.$scope.fieldTwo = undefined;
   form.$setPristine();
}

我不完全确定为什么我的代码会工作,而你的代码却没有.但希望这种方法可以帮助你.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有