我有一个文本框,显示为表单的一部分。只有少数表单字段才能通过ng-model获得数据。如果表单字段为空,则在表单提交时,将null发送到服务器。我想要一个占位符值,如果它是一个空文本框,就像“No value yet”。如果用户输入值或编辑值,那么我需要能够读取该值,然后将其作为表单提交的一部分发送。如何使用ng-if实现此目的?谢谢。
答案 0 :(得分:2)
ng-if
指令在将元素放置在任何位置时创建子范围。但是新创建的范围原型继承自父范围。
因此,在这种情况下定义ng-model时,您应该遵循Dot Rule
(在对象内部具有属性),以便遵循原型继承规则。
与创建$scope.model = {}
对象类似,并将所有表单属性放入其中。
<form name="myForm" ng-submit="save()" ng-if="showForm">
<input name="firstName" ng-model="firstName"/> First Name
<input name="lastName" ng-model="lastName"/> Last Name
<input type="submit" value="Save"/>
</form>
或者您也可以在定义&amp;时使用controllerAs
模式使用控制器。在下面的链接答案中,您可以找到controllerAs
在这种情况下的工作原理。