我试图从控制器更改输入占位符的值,但无法弄清楚如何.
input(type='text', ng-model='inputText', side='30', placeholder='enter username')
Run Code Online (Sandbox Code Playgroud)
有没有办法修改模型的元素属性?
Wag*_*sco 125
您可以使用控制器中的变量进行绑定:
<input type="text" ng-model="inputText" placeholder="{{somePlaceholder}}" />
Run Code Online (Sandbox Code Playgroud)
在控制器中:
$scope.somePlaceholder = 'abc';
Run Code Online (Sandbox Code Playgroud)
小智 21
接受的答案仍然在我的IE中引发了一个Javascript错误(至少对于Angular 1.2).这是一个错误,但解决方法是使用详细的https://docs.angularjs.org/guide/interpolation上的 ngAttr
<input type="text" ng-model="inputText" ng-attr-placeholder="{{somePlaceholder}}" />
Run Code Online (Sandbox Code Playgroud)
问题:https://github.com/angular/angular.js/issues/5025
由于AngularJS没有jQuery那样的指令DOM操作,因此修改一个元素属性的正确方法是使用指令.通过指令的链接功能,您可以访问元素及其属性.
将整个输入包装在一个指令中,您仍然可以通过控制器属性引入ng-model的方法.
此方法将有助于将ngmodel的逻辑与占位符与控制器分离.如果他们之间没有逻辑,你肯定可以像Wagner Francisco说的那样.
小智 5
正如瓦格纳·弗朗西斯科(Wagner Francisco)所说,(在JADE中)
input(type="text", ng-model="someModel", placeholder="{{someScopeVariable}}")`
Run Code Online (Sandbox Code Playgroud)
在您的控制器中:
$scope.someScopeVariable = 'somevalue'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121923 次 |
| 最近记录: |