AngularJS指令范围约束问题重复出现



am有一个秒表指令。它被放置在ng repeat下,这样用户就可以创建他需要的任意数量的秒表。所有这些秒表都有自己的播放/暂停和停止按钮。我面临的问题是,当用户启动第一块秒表时,所有其他手表都开始运行,但当从最后一块手表开始运行时,它运行良好。我在这里做错了什么。查找plunker

我的链接功能:完整的工作代码在plunker 中

  link: function(scope, element, attrs, ctrl) {
  var start_button = angular.element(document.querySelector('.play'));
  var pause_button = angular.element(document.querySelector('.pause'));
  var stop_button = angular.element(document.querySelector('.stop'));
  start_button.on('click', ctrl.start);
  pause_button.on('click', ctrl.pause);
  stop_button.on('click', ctrl.stop);
  scope.$on('$destroy', function () {
    start_button.off('click', ctrl.start);
    pause_button.off('click', ctrl.pause);
    stop_button.off('click', ctrl.stop);
  });
},

我看到在你的指令模板中你有一个ng点击,所以这个代码可以被删除

 var start_button = angular.element(document.querySelector('.play'));
  var pause_button = angular.element(document.querySelector('.pause'));
  var stop_button = angular.element(document.querySelector('.stop'));
  start_button.on('click', ctrl.start);
  pause_button.on('click', ctrl.pause);
  stop_button.on('click', ctrl.stop);
  scope.$on('$destroy', function () {
    start_button.off('click', ctrl.start);
    pause_button.off('click', ctrl.pause);
    stop_button.off('click', ctrl.stop);
  });

然后它就工作了:)

工作plunkr

最新更新