gpt4 book ai didi

javascript - Angular $scope.$watch 查找仅从表单(ng-model 指令)更改的变量

转载 作者:行者123 更新时间:2023-12-03 08:08:02 25 4
gpt4 key购买 nike

我有一个监听器,当模型发生更改时,它会向服务器发送 HTTP 请求。

JS代码:

$scope.a = 1;
$scope.$watch('a', function(newValue, oldValue) {
sendSaveRequest(newValue);
});

HTML 表单:

<form>
<input ng-model="a" />
</form>

这段代码工作正常。但我也与我的网络服务器建立了网络套接字连接。如果其他人更改了此模型,每个人都应该更新此模型,但在这种情况下他们不需要向服务器发送请求:

socket.on('change', function(newValue) {
$scope.a = newValue;
$scope.$apply();
});

如何监听仅从 HTML 表单(ng-model 指令)发生的模型更改?

最佳答案

使用ng-change指令:

<form>
<input ng-model="a" ng-change="sendSaveRequest(a)"/>
</form>
$scope.sendSaveRequest = sendSaveRequest;

仅当输入值的更改导致将新值提交给模型时,才会计算 ngChange 表达式。

不会对其进行评估:

  • 如果模型是通过编程方式更改的,而不是通过更改输入值

有关详细信息,请参阅AngularJS ng-change Directive API Reference .

关于javascript - Angular $scope.$watch 查找仅从表单(ng-model 指令)更改的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34288015/

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