组件中嵌套指令的 Chrome 中的奇怪 AngularJS 1.5 行为

Odd AngularJS 1.5 behaviour in Chrome of nested directive in component

我有一个 AngularJS 指令创建一个迷你图,然后我在几个模块中使用它。该应用程序在 Firefox (51..) 中的行为符合预期,但是在 Google Chrome 浏览器 (56..) 中查看时,该应用程序无法提供所需的图形。

请注意,我已经从服务器测试了实际的应用程序,这不是跨源请求问题。此外,经检查,控制台没有报错。

这个 plunker 重现了我的原始问题:https://plnkr.co/edit/K9wO5Ibx1Uk8ygkOUGU6?p=preview

在此先感谢您的帮助。

index.html

<html>
  <head>
    <link rel="stylesheet" href="style.css" />
    <script src="jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
    <script src="jquery.sparkline.js"></script>
    <script src="app.module.js"></script>
    <script src="ab-help.module.js"></script>
    <script src="ab-help.component.js"></script>
    <script src="ab-spkline.directive.js"></script>
  </head>
<body ng-app="abMyapp">
    <h2>Testing sparkline directive via component in angular </h2>
    <p>This is outside the ab-help tags</p>
    <spk-line data="30, 1, 14, 10, 8, 15, 6, 13, 2"></spk-line>
    <ab-help></ab-help>
  </body>
</html>

各种.js部分压缩如下:

// Define the 'app' module
angular.module('abMyapp', ['abHelp']); //note in my original app more modules are injected here, example on plunker only shows one!

// Define the `abHelp` module
angular.module('abHelp', []);

// Register `abHelp` component, along with its associated controller and template
angular.
module('abHelp').
component('abHelp', {
    templateUrl: 'ab-help.template.html',
    controller: function(){
      this.myData = "1, 1, 4, 14, 4, 15, 6, 23, 4";
    }
});

//template
<p>This is from inside component</p>
<spk-line data="3, 1, 4, 10, 8, 5, 6, 3, 4"></spk-line> <br>
<spk-line data="{{ $ctrl.myData }}"></spk-line>

非常重要的迷你图指令,感谢 http://jsfiddle.net/NAA5G/ and of course http://omnipotent.net/jquery.sparkline/#s-about、JQuery、Angular!

angular.module('abMyapp').directive("spkLine", function() {
  return {
    restrict: "E",
    scope: {
      data: "@"
    },

    compile: function(tElement, tAttrs, transclude) {
      tElement.replaceWith("<span>" + tAttrs.data + "</span>");
      return function(scope, element, attrs) {
        attrs.$observe("data", function(newValue) {
          element.html(newValue);
          element.sparkline('html', {
            type: 'line'
          });
        });
      };
    }
  };
});

实际使用 jquery 迷你图的 2.1.2 版进行排序。这有一个我用 issue #188

提出的工具提示问题

感谢观看。