$ scope和setPristine()在工厂

时间:2016-05-24 10:47:11

标签: javascript angularjs

我正在尝试将当前的api调用转换为可在ApiService工厂内重用的工厂。但是,我似乎无法清除表格。

那么,我能做些什么来使clearForm功能正常工作。

<form name="formName">
    <input type="name" ng-model="form.username"></input>
    <input type="password" ng=model="form.password"></input>
    <button type="submit" ng-click="submitForm()">Submit</button>
<form>

1 个答案:

答案 0 :(得分:3)

表单位于$scope。您无法使用$scope访问它,而工厂也没有$scope

试试这个

$scope.formName.$setPristine();

您所能做的就是将该表单传递给服务并清除它

'clearForm': function(formName) {
            formName.$setPristine();
            formName.$setUntouched();
        }

来自控制器

FormFactory.clearForm($scope.formName);