Javascript 条纹角形不';我不能按指令工作

Javascript 条纹角形不';我不能按指令工作,javascript,angularjs,Javascript,Angularjs,为什么这样不行?(如中所示,为什么脚本不实际运行并创建付款按钮,就像它不在指令中一样。) .directive('stripeForm',['$log',function($log){ 返回函数(范围、元素、属性){ var标记\ \ \ '; 元素append(angular.element(markup)); }; }]); 下面的plunkr演示了这个问题与“数据键”或“数据图像”或“数据-*”完全无关。如果它是一个指令,那么它根本不起作用。无论出于何种原因,如果脚本以这种方式注入DOM

为什么这样不行?(如中所示,为什么脚本不实际运行并创建付款按钮,就像它不在指令中一样。)

.directive('stripeForm',['$log',function($log){
返回函数(范围、元素、属性){
var标记\
\
\
';
元素append(angular.element(markup));
};
}]);
下面的plunkr演示了这个问题与“数据键”或“数据图像”或“数据-*”完全无关。如果它是一个指令,那么它根本不起作用。无论出于何种原因,如果脚本以这种方式注入DOM,脚本标记实际上不会获取checkout.js并运行脚本

我唯一的问题是为什么?

看看这个:

我所做的是手动创建元素作为本机对象。可能问题在于使用angular.element()转换给定的html标记


希望能有所帮助

我认为这些信息不足以回答您的问题。在尝试帮助调试问题时,JSFIDLE可能更有价值。通过这种方式,我们可以看到html和javascript以及它们如何交互。看起来html正在被呈现——我想知道这是因为数据键是“xxx”,还是因为它找不到“/square image.png”,我用一个plunkr更新了它,它显示了如果它不在指令中它将如何工作,如果它在这样的指令中它是如何工作的。
.directive('stripeForm', ['$log', function($log) {
  return function(scope, elem, attrs) {
    var markup = '<form action="/charge" method="POST">\
      <script\
      src="https://checkout.stripe.com/checkout.js" class="stripe-button"\
      data-key="xxx"\
      data-image="/square-image.png"\
      data-name="Demo Site"\
      data-description="2 widgets ($20.00)"\
      data-amount="2000">\
      </script>\
    </form>';
    elem.append(angular.element(markup));
  };
}]);
var form =  document.createElement("form");;
form.action = "charge";
form.method = "POST";
var script =  document.createElement("script");
script.src = "https://checkout.stripe.com/checkout.js";
script.className = "stripe-button";
script.setAttribute("data-key", "pk_test_6pRNASCoBOKtIshFeQd4XMUh");
script.setAttribute("data-image", "square-image.png");
script.setAttribute("data-name", "Demo Site");
script.setAttribute("data-description", "2 widgets ($20.00)");
script.setAttribute("data-amount", "2000");

form.appendChild(script);

elem.append(angular.element(form));