我将指令中定义的变量 col
传递给我的指令。
该对象包含一些数组,这些数组内部有一个函数。
该函数引用我的 Controller 中的一个变量,它看起来像这样:
function (params) {
return $scope.function(params);
}
这个col
变量被传递给big指令包含的子指令,并且子指令执行它。
它从一个名为 VM{这里随机数} 的文件中抛出一个错误,其中显示 $scope
未定义。
如何让它从我的 Controller 运行,而不是从虚拟 JS 文件运行?
最佳答案
如果您需要传递功能,那么您必须为该作业创建服务/工厂。我认为要在指令或组件中使用。
不要忘记服务是单例的,工厂实现标准工厂模式。
如果全局意味着窗口变量或函数不需要注入(inject),只需注入(inject)this.windows。 .... 完成工作。
问候。
关于javascript - 将对象传递给指令不允许全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824302/