首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS:如何从控制器引用表单的$invalid变量?

AngularJS:如何从控制器引用表单的$invalid变量?
EN

Stack Overflow用户
提问于 2020-10-27 11:43:15
回答 1查看 34关注 0票数 0

我正在使用AngularJS开发一个web应用程序。我有一个问题:我的应用程序使用预定义组件(由其他开发人员创建)作为各种表单的输入字段。对于每个组件,这些字段都有自己的自定义验证方法,我对它们一无所知。但是,我的控制器中必须有--指示表单是否有效的(布尔)信息。我找到的解决办法是:

HTML:

代码语言:javascript
复制
<form name="myForm"></form>
<form name="myForm">

        <custom-component-1
                                custom-property1="someString"
                                custom-property2="someString"                                    
        ></custom-component-1>

         <custom-component-2
                                custom-property1="someString"
                                custom-property2="someString"                                    
        ></custom-component-2>
    </div>
</form>

现在,如果我在模板中直接使用以下字符串:{{myForm.$invalid}},它的行为是正确的,在屏幕上打印布尔值真(如果没有有效的话)或布尔假(如果一切顺利的话)。我的问题是,,我不知道如何在运行时的控制器中映射这个变量。当然有一种方法,但不幸的是我对AngularJS知之甚少!例如,如果在我的控制器中使用这个变量,如下所示:

代码语言:javascript
复制
console.log("My variable: ", myForm.$invalid)

输出值为undefined

EN

回答 1

Stack Overflow用户

发布于 2020-10-28 12:44:32

html

代码语言:javascript
复制
<form name="varObj.myForm" ng-submit="formSubmitCall();">

        <custom-component-1
                                custom-property1="someString"
                                custom-property2="someString"                                    
        ></custom-component-1>

         <custom-component-2
                                custom-property1="someString"
                                custom-property2="someString"                                    
        ></custom-component-2>
    </div>
</form>

js

在控制器中,将varObj初始化为:

代码语言:javascript
复制
    $scope.varObj = {};

    $scope.formSubmitCall = function(){
        console.log("My variable: ", $scope.varObj.myForm.$invalid);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64553712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档