繁体   English   中英

AngularJS:如何听 <input ng-change> 用滑块更改值时?

[英]AngularJS: How to listen to <input ng-change> when value is changed with a Slider?

问题:
我试图在文本字段上使用ng-change时遇到问题。 遇到的问题是,我正在使用滑块更改此文本字段的值。

当我单击文本字段并开始输入时,ng-change事件起作用: logOutValue()触发并在浏览器中注销。


HTML:

我正在使用此“角度范围”滑块 -> (示例)

<div ng-repeat='obj in testObjects'> <rzslider rz-slider-model="obj.max"> <form> <input value='{{ obj.max }}' ng-change='logOutValue(obj)' ng-model="testObjects[obj.name]"> </form> </div>

滑块通过obj.max填写文本输入的值。 这可行。 同样,在文本字段中单击并键入时,该值将注销。


在控制器中:

testObjects = {}; $scope.logOutValue = function(obj){ console.dir(obj); };

其他想法
我尝试使用$ watch,但只有在单击并键入文本框时,这似乎才触发。

$scope.$watch('testObj', function(){ console.log('this is working?'); }, true);

如果您想捕获绑定到外部更改事件的模型中的更改,那么我们唯一的选择是使用$ watch。

在这里,您似乎已将$ watch添加到错误的变量,因为“ testObj”未作为模型绑定到输入字段。

请观看视频以了解ng-change和$ watch之间的区别

https://egghead.io/lessons/angularjs-using-the-ngchange-directive-in-angular

您可以使用slideEnded事件描述这里 :关于模型的变化通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM