Javascript 将角度范围传递给jquery
有人有像我这样的案子吗?我必须将另一个服务连接到我的系统。问题是JS前端不支持服务(im使用angularJS)。要显示服务的表单,我需要像这样填写jQuery表单:Javascript 将角度范围传递给jquery,javascript,php,jquery,angularjs,Javascript,Php,Jquery,Angularjs,有人有像我这样的案子吗?我必须将另一个服务连接到我的系统。问题是JS前端不支持服务(im使用angularJS)。要显示服务的表单,我需要像这样填写jQuery表单: <script type="text/javascript"> $(function() { var data = new Object(); data.req_merchant_code = '1'; data.req_chain_merchant = 'NA'; data.req_payment_channel =
<script type="text/javascript">
$(function() {
var data = new Object();
data.req_merchant_code = '1';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = '<?php echo $invoice ?>';
data.req_currency = '<?php echo $currency ?>';
data.req_amount = '<?php echo $amount ?>';
data.req_words = '<?php echo $words ?>';
data.req_form_type = 'full';
getForm(data);
});
</script>
我试着把这个范围放在像这样的参数上
$scope.dokuPayment = function(){
topUpFactory.createwordsDoku().then(function(data){
console.log(data.data);
var req = data.data;
$scope.invoice = req.invoice;
$scope.words = req.words;
$scope.currency = req.currency;
$scope.amount = req.amount;
console.log(invoice);
$("#doku-modal").modal('show');
});
}
<script type="text/javascript">
console.log("form doku");
$(function() {
var data = new Object();
data.req_merchant_code = '3279';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = {{invoice}};
data.req_currency = {{currency}};
data.req_amount = {{amount}};
data.req_words = {{words}};
data.req_form_type = 'full';
getForm(data);
});
</script>
console.log(“formdoku”);
$(函数(){
var data=新对象();
data.req_商户代码='3279';
data.req_chain_merchant='NA';
data.req_payment_channel='15';/'15'=信用卡
data.req_事务_id={{invoice};
data.req_currency={{currency};
data.req_amount={{amount};
data.req_words={{words};
data.req_form_type='full';
getForm(数据);
});
但是不起作用。。我试图设置UpperStroop(“”)仍然不起作用。任何人都可以帮忙。感谢使用AngularJS时,尽量避免以那种方式使用jQuery $(“#doku模式”).model('show');-在这个框架中这样做不是一个好主意 本文可以提供一些指导: 在$scope.dokuPayment中,只要getForm(数据)不直接操作DOM,您就可以做与getForm(数据)相同的事情
因此,您不必向视图传递任何数据,因为整个JS逻辑应该在AngularJS服务或控制器中。使用AngularJS时,请尽量避免以这种方式使用jQuery $(“#doku模式”).model('show');-在这个框架中这样做不是一个好主意 本文可以提供一些指导: 在$scope.dokuPayment中,只要getForm(数据)不直接操作DOM,您就可以做与getForm(数据)相同的事情
因此,您不必向视图传递任何数据,因为整个JS逻辑应该在您的Angular服务或控制器中。有一个简单的hack,不确定它是否是良好的实践!您可以使用$window范围。 您只需使用$window.{variable name}将角度变量转换为全局变量,然后使用window.{variable name}从外部访问它们 请看这里:
$scope.dokuPayment = function(){
topUpFactory.createwordsDoku().then(function(data){
console.log(data.data);
var req = data.data;
$window.invoice = req.invoice;
$window.words = req.words;
$window.currency = req.currency;
$window.amount = req.amount;
console.log(invoice);
$("#doku-modal").modal('show');
});
}
在AngularJS之外:
console.log("form doku");
$(function() {
var data = new Object();
data.req_merchant_code = '3279';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = window.invoice;
data.req_currency = window.currency;
data.req_amount = window.amount;
data.req_words = window.words;
data.req_form_type = 'full';
getForm(data);
});
这对我有用。希望这有帮助:)这里有一个简单的hack,不确定它是否是好的实践!您可以使用$window范围。 您只需使用$window.{variable name}将角度变量转换为全局变量,然后使用window.{variable name}从外部访问它们 请看这里:
$scope.dokuPayment = function(){
topUpFactory.createwordsDoku().then(function(data){
console.log(data.data);
var req = data.data;
$window.invoice = req.invoice;
$window.words = req.words;
$window.currency = req.currency;
$window.amount = req.amount;
console.log(invoice);
$("#doku-modal").modal('show');
});
}
在AngularJS之外:
console.log("form doku");
$(function() {
var data = new Object();
data.req_merchant_code = '3279';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = window.invoice;
data.req_currency = window.currency;
data.req_amount = window.amount;
data.req_words = window.words;
data.req_form_type = 'full';
getForm(data);
});
这对我有用。希望这有帮助:)