使用angularjs检索具有ng值的文本输入字段的值时,在检索到值后,字段覆盖的标签不会在字段上方转换。单击该字段后,我只能在输入字段中看到该值。
我正在使用材质的md-input-container:
<md-input-container>
<label>Name</label>
<input type="text" ng-value="profileInfo.name" ng-model="savedProfileInfo.name" class="provider-name" id="providerName" name="providerName" />
</md-input-container>
这是Inspect Element代码:
<md-input-container class="">
<label for="providerName">Name</label>
<input type="text" ng-value="profileInfo.name" ng-model="savedProfileInfo.name" class="provider-name ng-pristine ng-untouched ng-valid md-input" id="providerName" name="providerName" aria-invalid="false" value="a"><div class="md-errors-spacer"></div>
</md-input-container>
您可以清楚地看到使用ng-value加载页面后拉出的value =“a”。但是,这个领域仍然是这样的:
只有在我点击该字段后才能看到我的期望:
这是一个错误吗?我错过了什么吗?我虽然AngularJS和Material应该玩得很好。
可用的plunker here
答案 0 :(得分:0)
在一个迂回的方式中,troig的评论帮助我解决了这个问题。
此表单用于显示和更新用户的个人资料信息。我使用 ng-model 来更新用户的配置文件和ng值,以显示数据库中的任何现有用户配置文件信息。
ng-value 会回放 value =“”属性,该属性与 md-input-container 不匹配。为了使其正常工作,我删除了 ng-value ,用 profileInfo.name 替换了 ng-model 的值,并修改了我的控制器允许我保存 profileInfo.name 而不是 savedProfileInfo.name 。
代码翻译:
TREE_NM
故事的道德, ng-value 与 md-input-container 和表单标签不相称。