如何将变量从 jQuery 传递到 AngularJs 函数
Posted
技术标签:
【中文标题】如何将变量从 jQuery 传递到 AngularJs 函数【英文标题】:How to pass a variable from jQuery to AngularJs function 【发布时间】:2018-04-07 11:19:02 【问题描述】:我的控制器上有这个功能
当我单击 image.svg 的一部分时,我使用此函数将 svg 路径的 id 保存在一个数组中
$(document).ready(function()
var arrayCuerpo=[];
$('.SaveBody').on("click", function()
var idCuerpo=jQuery(this).attr("id");
var parteCuerpo=CambiarCuerpo(idCuerpo);
if( jQuery.inArray(parteCuerpo,arrayCuerpo) == -1)//No existe
$('path#'+idCuerpo).css( fill: "#4C9141",stroke: "#4C9141" );
arrayCuerpo.push(parteCuerpo);
//console.log("if");
console.log(arrayCuerpo);
else//existe
$('path#'+idCuerpo).css( fill: "#9e9e9e",stroke: "#9e9e9e" );
arrayCuerpo.removeItem(parteCuerpo);
// console.log("else");
console.log(arrayCuerpo);
$scope.arrayCuerpo =arrayCuerpo;
);
);
我想访问数组:arrayCuerpo 在同一个控制器上的这个函数上:
$scope.SendForm1 = function()
console.log($scope.arrayCuerpo);
//This return undefined
SendForm1 is called when I put my Send Button Form
Could u help me to pass that array in that Function pls?
编辑解决方案:
I wasnt calling the ng-controlelr on the svg-image
For pass the variable i just created a service .factory
app.factory('yourService', function ()
var array = [];
return
setData: function setData(data)
array = data;
,
getData: function getData()
return array;
;
);
有了这个我可以调用函数上的服务:
yourService.setData($scope.arrayCuerpo);
然后我得到数据:
$scope.Array = yourService.getData();
【问题讨论】:
我想建议在元素上使用 ng-click 而不是在 jquery 上使用 on 'click' 来触发 'clicked' 事件。 您可以使用 jquery 在 SendForm1 函数范围代码上进行厄运操作。 我忘了说我在 svg 路径上使用那个类 (SaveBody) .. (你可以这样做:
$scope.SendForm1 = function(arrayCuerpo)
$scope.arrayCuerpo=arrayCuerpo;
console.log(arrayCuerpo);
//This return undefined
【讨论】:
这个函数怎么称呼你? SendForm1 在我放置发送按钮表单时被调用 这样调用函数SendForm1(Your Array);
以上是关于如何将变量从 jQuery 传递到 AngularJs 函数的主要内容,如果未能解决你的问题,请参考以下文章
如何将变量从 jQuery draggable 传递到 droppable
将数据从一个组件传递到另一个 Angular 2 时的服务变量