有以下AngularJS指令,该指令创建一个input元素。输入ng-change属性运行doIt()功能。

指令:

...
template: "<input ng-model='myModel' ng-change='doIt()' type='text'>" 

测试:

el.find('input').trigger('change') // Dos not trigger ng-change

现场演示(ng-Change):...

change事件,而不是使用ng-change属性。
template: "<input ng-model='myModel' type='text'>",
link: function(scope, element, attrs) {
  element.bind('change', function(event) {
    scope.doIt();
  });
}
叙知伍叙知伍提问于
看加速得中二学生回答于

可以找到ngModelController实例驱动ngModel更改回调并自己设置视图值:

it('trigger doIt', function() {
  var ngModelController = el.find('input').controller('ngModel');
  ngModelController.$setViewValue('test');
  expect($scope.youDidIt).toBe(true);
});

例子:http://plnkr.co/edit/BaWpxLuMh3HvivPUbrsd?p=preview

在查看AngularJS源代码之后,发现以下内容也有效:

it('trigger doIt', function() {
  el.find('input').trigger('input');
  expect($scope.youDidIt).toBe(true);
});

在某些浏览器中,事件看起来是不同的;input似乎适用于Chrome。

回答过的其他问题

已经购买了域名,在其他网站建立了网站,请问是否支持cname解析?解析后的网址是什么样的?

支持cname解析

解析后的网址看你其他网站建立的网站的提示

Gitlab CI如何通过SSH部署应用程序

举个例子,假设您已经安装了需求的服务器,并且您希望使用ssh部署到该服务器。 image: ubuntu:latest stages: - deploy deploy_QA: stage: deploy environment: name: Stagin...... 展开详请

已经收到备案审核通过的短信,但是工信部网站还没查到备案信息?

QGSK是否允许微信登录?

QGSK包本身不含微信登录功能,游戏方可以另外接入微信登录方式,两种登录方式可以共存(但手Q渠道只允许接入手Q登录)

如果游戏方接入了微信登录方式,是可以允许分享到朋友圈或微信好友的。

来自单个校准相机的2个连续帧的视差图。可能吗?

立体系统上的视差图用于获得深度信息 - 与场景中物体的距离。为此,您需要相机之间的距离,以便能够将视差信息转换为实际尺寸。 另一方面,如果你有静态相机的连续帧,我想你想要它们之间的差异。您可以使用光流算法获得它。以与视差相同的方式计算图像中每个像素的密集光流,并输出移动方向和幅...... 展开详请

Ubuntu Cloud服务器映像的登录凭据

18.04逐步设置 总之,您需要在主机上: sudo apt-get install cloud-image-utils cat >user-data <<EOF #cloud-config password: asdfqwer chpasswd: { expire: Fal...... 展开详请

扫码关注云+社区