Angularjs 将脚本中的数据从部分发送到控制器

Angularjs 将脚本中的数据从部分发送到控制器,angularjs,Angularjs,我有一个部分代码 <script> function process_wb(wb,$scope) { if(use_worker) XLS.SSF.load_table(wb.SSF); var output = ""; console.log(wb); salida=to_json(wb); } </script> <button ng-click="insertar(salida)">INSERTAR</button> 但是

我有一个部分代码

<script>
function process_wb(wb,$scope) {
  if(use_worker) XLS.SSF.load_table(wb.SSF);
  var output = "";
  console.log(wb);
  salida=to_json(wb);
}
</script>
<button  ng-click="insertar(salida)">INSERTAR</button>
但是当我点击函数时,没有任何数据

有解决办法吗?感谢您抽出时间

您的内联函数(位于
标记内)正在分配一个变量,然后您将尝试在角度单击事件中使用该变量。这不会像您已经发现的那样起作用

您的salida变量需要绑定到活动范围,然后该范围将正确映射到函数。请参见以下基本示例:

如果要从角度世界外部传回数据,可以通过手动附加到活动角度范围或通过传统事件处理来实现


出于您的目的,最简单的方法是附加到作用域,如下所示:

您能检查示例代码吗?您列出的内容永远不会起作用-
insertar(salida)
不会调用
process\u wb()
函数。数据存在,但当我发送给控制器时,没有数据。salida的数据在html中,控制器在另一个文件中,我需要向控制器发送数据,但它不起作用。谢谢你的回复。我已经更新了我的答案。您不能像上面尝试的那样简单地将javascript变量传递到Angular指令中。作为参数传递的变量必须全部附加到作用域。但是我可以作用域变量?抱歉,我不明白。你可以使用我上面概述的方法向作用域中添加一个变量。我的同事还没有看到它的最新更新,非常感谢你
$scope.insertar = function(datos) {
  console.log('datos');
  console.log(datos);
}