javascript - 如何在 Angular 中使用ng-if有条件地显示消息

标签 javascript angularjs

如果电子邮件地址已经注册或显示“感谢注册!”的消息,我会尝试向用户显示消息

表格 1:

<div>
    <button type="submit" data-target="#publisherVerification">Sign up</button>
</div>

<div id="publisherVerification" ng-if="flag===true">
    <div>
        <p>Thank you for signing up.</p>
    </div>
</div>

<div id="publisherVerification" ng-if="flag===false">
    <div>
        <p>User already registered. Please use login.</p>
    </div>
</div>

表格 2:

<div>
    <button type="submit"  data-target="#artistVerification">Sign up</button>
</div>

<div id="artistVerification" ng-if="flag === true">
    <div>
        <p>Thank you for signing up</p>
    </div>
    <div id="artistVerification" ng-if="flag === false">
        <div>
            <p>User already registered. Please use login.</p>
        </div>
    </div>
</div>

以上两种形式都在同一页面中,并且在单击按钮时调用相同的功能。

它的工作,但如果用户“已经注册或新用户”,两种形式都显示消息,因为他们正在调用相同的功能。如何仅显示特定表单的消息。我知道我可以为每个表单创建单独的函数,但我想尝试使用单个函数。

最佳答案

问题是两个 ng-if 都使用相同的标志。您需要区分艺术家标志和发布者标志。

此外,应该有一个标志,在开始时隐藏消息,只有在用户提交时才会显示。

为了解决这个问题,我向共享提交函数传递了一个用户参数。

<button type="submit" ng-click='submitForm( "publisher" )' data-target="#publisherVerification">Sign up</button>

<div id="publisherVerification" ng-if="submitted.publisher ===true">
   <div ng-if="flags.publisher===true">
     <p>Thank you for signing up.</p>
   </div>
   <div ng-if="flags.publisher===false">
      <p>User already registered. Please use login.</p>
    </div>
   </div>  
</div>

这是一个带有有效解决方案的 JSFiddle:https://jsfiddle.net/adamback42/x50kyh6n/4/

关于javascript - 如何在 Angular 中使用ng-if有条件地显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754573/

相关文章:

javascript - ASP.Net 模态页面代码未触发

javascript - JSP解析url并匹配关键词

javascript - Angular JS/IONIC 读取 JSON 文件

javascript - 加载时的 Bootstrap-angular-ui 模式

javascript - 尝试使用 Pandas 从 Selenium 的结果中抓取表格

javascript - HTML5、CSS3、Javascript |导航部分中元素的更改

javascript - jQuery append() - 重复追加

javascript - 类型错误 : Cannot read property '0' of undefined AngularJS

javascript - 使用谷歌地图时作为未定义的第一个 child 出现错误

javascript - 动态设置 AngularJS Directive 元素的属性