Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ng访问事件对象单击ng重复奇怪的内部_Javascript_Jquery_Angularjs_Jqlite - Fatal编程技术网

Javascript 从ng访问事件对象单击ng重复奇怪的内部

Javascript 从ng访问事件对象单击ng重复奇怪的内部,javascript,jquery,angularjs,jqlite,Javascript,Jquery,Angularjs,Jqlite,在我的fiddle示例中,我通过ng单击访问传入的事件对象。虽然在处理“其他服务”的承诺时访问它时,它突然不在了,但它仍然可以正常工作?这是怎么回事 使用jQuery是可行的,所以我想这与角度jQlite有关。此外,它会在ng repeat内部中断,否则它将无法工作。我想知道为什么事件对象似乎消失了。谢谢 var myApp = angular.module('myApp',[]); myApp.controller('TestController', function(TestService

在我的fiddle示例中,我通过
ng单击访问传入的事件对象。虽然在处理“其他服务”的承诺时访问它时,它突然不在了,但它仍然可以正常工作?这是怎么回事

使用jQuery是可行的,所以我想这与角度jQlite有关。此外,它会在
ng repeat
内部中断,否则它将无法工作。我想知道为什么事件对象似乎消失了。谢谢

var myApp = angular.module('myApp',[]);

myApp.controller('TestController', function(TestService) {
  var vm = this;

  vm.foo = TestService;
  vm.items = [1, 2, 3, 4];
});

myApp.service('OtherService', function($http) {
  return $http.get('https://httpbin.org/get').then(function() {});
});

myApp.service('TestService', function(OtherService) {
  return function(evt) {
    var myText = evt.currentTarget.textContent;
    evt.currentTarget.textContent = "Bar";
    OtherService.then(function() {
      console.log(evt);
      evt.currentTarget.textContent =  myText + myText;
    });
  }
});
html:


{{item}}

您正在以错误的顺序传递来自
ng单击的参数。更改
ng单击
from

<div ng-click="vm.foo(item, $event)">{{item}}</div>

{{item}}

该死,那是个打字错误。试图从项目中复制错误。
<div ng-click="vm.foo(item, $event)">{{item}}</div>
<div ng-click="vm.foo($event, item)">{{item}}</div>