gpt4 book ai didi

javascript - on-change 和 ng-change 的区别

转载 作者:行者123 更新时间:2023-11-29 10:34:59 24 4
gpt4 key购买 nike

下面是一个非常简单的表单下拉列表设置。但是,on-change 事件拒绝触发...除非它更改为 ng-change

这让我卡住了大约一个小时,因为我们在网站的其他地方使用了相同的设置(即模型属性/列表/on-change 指令)而没有失败。

我想知道 on-changeng-change 之间有什么区别,为什么一个在这种情况下有效而另一个无效?

查看

<select id="grArchive"
name="grArchive"
class="form-control"
options="userList"
ng-model="selectedUser"
ng-options="user as user.name for user in userList"
on-change="showSelected()">
</select>

Controller

scope.selectedUser = {};
scope.userList = [];

scope.showSelected = function(){
scope.columns = addColumns;
};

var loadUserList = function(data){
scope.userList = $.map(data, function(item){
return {id: item.id, name: item.firstName + ' ' + item.lastName};
});
}

以防万一:用户下拉菜单按预期填充(下面的屏幕截图)

enter image description here

最佳答案

ng-改变

ng-change 是 Angular 核心 API 提供的指令,它在内部注册一个表达式,当 ng-model 的 $viewValue 发生任何变化时调用 变量(here 是代码);为它分配一个表达式,例如 myFunction()。该提供的表达式将在底层 Controller 范围内进行评估。调用表达式后,它会运行摘要循环以确保绑定(bind)在 View 上得到更新。除了 ng-change 之外,还有其他用于事件的指令,如 ng-focusng-mousedownng-submitng-blurHere是此类指令的列表

变化中

这是一种在输入元素值改变时调用JavaScript函数的方法。它将搜索在上下文中全局可用的 function(显然它不会调用在 Angular Controller 中注册的函数)并对其进行评估。

关于javascript - on-change 和 ng-change 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com