javascript - 将对象传递给指令不允许全局变量

标签 javascript angularjs

我将指令中定义的变量 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/

相关文章:

javascript - 如何用jquery填充选择框?

javascript - 用于为 Android、WinMobile、iOS 开发应用程序的统一语言

javascript - 带 Angular 人类可读日期的时间戳

javascript - 如何从 html 格式的文本创建元素?

javascript - angularjs IE9范围变量变得未定义

angularjs - 如何高效地构建 AngularUI ui-router 状态机?

javascript - 我应该总是在可以使用 promise 的地方使用 Observables 吗?

javascript - Javascript 中变量前的 + 运算符是什么?

javascript - 删除自动创建的多个元素上的事件监听器

javascript - 我是否需要运行我的 AngularJS 应用程序代码,或者如果我使用 ng-app,它会被 AngularJS 调用吗?