Angular.js带 rails:Chrome 中的元素只执行一个指令

Angular.js with rails: only one directive is executed on element in Chrome

本文关键字:执行 指令 一个 元素 rails js Chrome Angular      更新时间:2023-09-26

我有 Rails 4 项目的角度.js我遇到了一个问题,只有关于元素工作的第一个指令。

我的宝石集包括:

gem "angularjs-rails", '~> 1.2.22'
gem 'slim', :git => 'git://github.com/brennancheung/slim.git', :branch => 'angularjs_support'
gem 'coffee-rails'

当我尝试做这样的事情时:

html ng-app="app"
...
div ng-controller='TestCtr'
  a ng-mouseover="test(1)" ng-mouseleave="test(2)" ng-click="test(3)" href="#/" Home

@app = angular.module('app', [])
@app.controller 'testCtr', ($scope)->
  $scope.test = (i) ->
    console.log(i)

只有 ng-mouseover="test(1)" 有效,如果我删除第一个指令,那么第二个 ng-mouseleave="test(2)" 将起作用,而 ng-click 将不起作用。

这很奇怪,但这种行为实际上仅适用于谷歌浏览器,我已经在 Safari、Opera 和 Firefox 中对此进行了测试,一切都很好。

(在问题编辑中回答 - 转换为社区维基答案。

OP写道:

这很奇怪,但这种行为实际上只在谷歌浏览器中找到,我已经在 Safari、Opera 和 Firefox 中对此进行了测试,一切都很好。 终于找到了原因,是谷歌浏览器扩展程序巴塔朗导致了那个奇怪的问题。