将角度值传递给公共JavaScript

将角度值传递给公共JavaScript,javascript,angularjs,Javascript,Angularjs,我试图将一个值从角度范围传递到通用JavaScript JavaScript是这样的 <script type="text/javascript"> var epaycode = null; var epaybuysum = null; paymentwindow = new PaymentWindow({ 'merchantnumber': epaycode, 'amount': epaybuysum, 'currency': "DKK", 'windowstate': "4",

我试图将一个值从角度范围传递到通用JavaScript

JavaScript是这样的

<script type="text/javascript">
var epaycode = null;
var epaybuysum  = null;
paymentwindow = new PaymentWindow({
'merchantnumber': epaycode,
'amount': epaybuysum,
'currency': "DKK",
'windowstate': "4",
'paymentcollection': "1",
'iframeheight': "250",
'iframewidth': "500"
});
paymentwindow.append('payment-div');
setTimeout(function(){
    paymentwindow.open();
}, 1000);
    $scope.showpay = function () {
    $window.epaybuysum = $scope.buysum * 100;
    $window.epaycode = $scope.ePayCode;
};
在初始化公共JavaScript后调用Angular showpay()函数。buysum和ePayCode在程序的前面设置。它们具有值,并使用console.log()进行测试

为什么epaybuysum和epaycode不被传输到公共JavaScript? 有没有其他解决方案可以将值从角度控制器传递到通用JavaScript?

尝试以下方法:

(function (angular, epaycode) {  
  'use strict';  
  var module = angular.module('abc', []);  
  //Your controller etc.  
  }  
})(angular, epaycode);
更新

注释部分中的plunker显示了如何执行此操作。

查看此plunker:


{{buyCode}}。。。{{buySum}}

呼叫showPay Console.log

第一个按钮调用showPay函数(作用域上的函数)。第二个按钮调用console.log(在angular控制器外部,简单js)。对于这个简单的用例,它似乎像预期的那样工作。您如何调用showPay函数

您是否调试了showpay的功能?它是否击中了设置为
$window
的代码行?如果
ePayCode
是全局声明的,那么您应该能够直接分配值
ePayCode=$scope.buysum*100showpay点击$window代码..如何将ePayCode和sum声明为全局?如果它们没有在函数中声明,那么它们是全局的。目前他们是globalDo你有一个Fiddler或Github的例子吗?据我所知,解决方案中的数据是从通用JavaScript发送的??我错了吗?是的。你说得对。plunker中的变量测试是一个简单的JS变量,正在注入Angular中。似乎我对此有计时问题。。我可以从Angular Controller调用一个公共JavaScript函数吗?可以。使用$window,您可以访问所有全局定义的js(包括函数)。所以您可以这样做:$window.myFunction()--如果myFunction是在顶层(而不是在另一个函数中)声明的,那么效果很好。。谢谢你!!
 <div ng-controller="MainCtrl">
      <input ng-model="buyCode">
      <input ng-model="buySum">
      <p>{{buyCode}} ... {{buySum}}</p>

      <button ng-click="showPay()">call showPay</button>
 </div>

 <button onclick="buttonClick()">Console.log</button>