shr*_*nsh 4 onchange angularjs angularjs-ng-change
<input type="checkbox" value="" ng-model="filterPrivateDocCheckBox" ng-click="dl.filterPrivateDocument(filterPrivateDocCheckBox, $event)">
<input st-search="target" class="input-sm form-control" ng-model="dl.documentTarget" ng-change="dl.change()" />
function filterPrivateDocument(val)
{
if(val)
this.documentTarget = 'Private';
}
Run Code Online (Sandbox Code Playgroud)
当我点击checkBox时,我将值设置为文本框,但是我看到ng-change事件没有被触发.为什么?
而且当我在文本框中键入一些值时,我发现ng-change事件被触发了.
解决这个问题的任何方法?
dev*_*qon 10
根据文件:
仅当输入值的更改导致将新值提交给模型时,才会评估ngChange表达式.
它不会被评估:
- 如果$ parsers转换管道返回的值没有改变
- 如果输入继续无效,因为模型将保持为空
- 如果以编程方式更改模型,而不是更改输入值
因此,当它被JavaScript(/ angular)更改时,它不会被触发.
您可以做的是,自己触发更改功能:
function filterPrivateDocument(val) {
if(val) {
this.documentTarget = 'Private';
this.change();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19534 次 |
| 最近记录: |