AngularJS ng-不需要使用变量

时间:2013-06-21 10:26:16

标签: angularjs angularjs-directive

我必须使用指令ng-required,但我不能硬编码真或假。我需要在变量中使用它,但angular不能识别“true”。

jsFiddle example

<div ng-app ng-init="test=true">
    <div>
        both have ng-required="true"
        <br/>
        one as hardcoded string literal, one via a variable
        <br/>
        Inspect them, one is not required!
    </div>
    <form name="myForm">
        <input type="text" ng-required="{{test}}" />
        <input type="text" ng-required="true" />
    </form>
</div>

我怎样才能使这个工作?

4 个答案:

答案 0 :(得分:12)

<input type="text" ng-required="{{test}}" />

您无需在此处插入 test 。由于您要评估test的值,只需删除花括号即可。它可以正常工作。

答案 1 :(得分:5)

昨天刚发现你可以使用与ng-class相同模式的ng-required:

<input type = "text" ng-required = "{true : 'true', false : 'false'}[test]" />

答案 2 :(得分:1)

我个人使用三元运算符进入这些指令,它运行良好。对于ng-required:

<input type="text" ng-required="(user.name == '' ? 'true' : 'false')" ng-model="user.nickname"/>

在此示例中,如果未填写用户的名称字段,则昵称字段将变为REQUIRED。

答案 3 :(得分:0)

由于某种原因,两个答案都不起作用,只需使用

ng-required="expired"

已过期成为变量。