有以下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解析

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

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

从许多其他工作中调用一个参数化作业(也称为“模板”) - 这是一种可行的方法吗?

我在哪里可以找到EMFText文档或示例?

我找到的唯一一种“文档”可以在这个链接上找到https://81958739-a-62cb3a1a-s-sites.googlegroups.com/site/luismiguelpedro/curriculum-vitae/technical-reports/emftextR...... 展开详请

从geojson中绘制openlayers折线

你的主要问题是你使用的是ol.format.Polyline 你应该使用ol.format.GeoJSON。 提示是关于以下代码 var route = /** @type {ol.geom.LineString} */ (new ol.format.GeoJSON().rea...... 展开详请

Flutter / Dart和AWS SDK

如果您可以使用Amazon API Gateway。REST调用可以是这样的: @override void initState() { super.initState(); http.get(this._apiGatewayURL) .th...... 展开详请

扫码关注云+社区