【问题标题】:Binding default input field values with ng-model使用 ng-model 绑定默认输入字段值
【发布时间】:2017-08-04 00:58:29
【问题描述】:

我目前正在用 AngularJS 编写一个应用程序,并且在使用带有输入字段的 ng-model 时偶然发现了一个问题。

如果用户没有在一个输入字段中输入任何文本,有没有办法将默认值绑定到 ng-model?代码示例如下所示:

<input class="formInput" placeholder="{{ testVar.hasName.name }}" type="text" id="nameUpdate" ng-model="upd.name">

这个想法是用户将更新数据。占位符将显示现有数据,在本例中为名称,更新此字段将绑定到模型。但是,如果用户不希望更新此特定字段,我如何将现有值绑定到模型?我注意到给输入一个 value="xyz" 会阻止 ng-model 正常工作。

我应该注意在控制器中将此信息定义为默认值不是可接受的解决方案,因为 testVar 中的数据会有所不同。

提前感谢您的帮助。

【问题讨论】:

  • 为什么将现有数据显示为占位符,而不仅仅是文本框中的值?

标签: javascript angularjs


【解决方案1】:

不是最佳做法,但您可以在ng-init 的帮助下初始化一个默认值:

<input class="formInput"
       placeholder="{{testVar.hasName.name}}"
       type="text"
       id="nameUpdate"
       ng-init="upd.name='defaultTextHere'"
       ng-model="upd.name">

【讨论】:

  • 所以这似乎是我正在寻找的,但是否可以将变量绑定到这个? ng-init=" '{{testVar.hasName.name}}' " 正确保存字符串,但是 ng-init="{{testVar.hasName.name}}" 不会将值发送到我的控制器。跨度>
  • 试一试,在警报中打印 upd.name 给出未定义?
  • 仍然未定义 :(
猜你喜欢
  • 2015-05-11
  • 2021-01-19
  • 2021-09-17
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 2016-11-18
相关资源
最近更新 更多