Angular Js$compile Javascript窗口范围
我对角度ui引导模式中的Angular Js$compile Javascript窗口范围,javascript,angularjs,closures,Javascript,Angularjs,Closures,我对角度ui引导模式中的这个的范围界定有问题。当我在模式之外运行以下代码时,我对它没有任何问题: var GlobalVariable=GlobalVariable | |{}; (功能(){ doSomethingWith(GlobalVariable.field); })();看看我从Angular UI引导文档生成的这个Plunker: 如您所见,该模式创建了一个新的作用域,因此您希望在该作用域内使用的任何内容都必须使用“resolve”传入并返回。当您只需传入所需内容时,无需强制继承
这个的范围界定有问题。当我在模式之外运行以下代码时,我对它没有任何问题:
var GlobalVariable=GlobalVariable | |{};
(功能(){
doSomethingWith(GlobalVariable.field);
})();代码>看看我从Angular UI引导文档生成的这个Plunker:
如您所见,该模式创建了一个新的作用域,因此您希望在该作用域内使用的任何内容都必须使用“resolve”传入并返回。当您只需传入所需内容时,无需强制继承。不幸的是,这并不能回答我的问题。这是关于获取与窗口相关联的所有Javascript全局变量的访问权。它不是特定于angular的,它只是碰巧是angular的,即$compile
-ing HTML/Javascript。是在HTML中声明的变量,该变量被注入到模式中吗?该变量在模式之外的页面中声明。它是一个独立于angular声明的网站范围的对象。重要的一点是,我需要模态中的代码对它是否显示在$model中保持无关(这就是为什么我不能将变量分配给$scope.new()
或使用$modelresolve
功能)。有趣的是,我必须看到更具体的代码示例。我按照您所说的更新了Plunker(添加了一个名为someGlobal的变量,添加了一个按钮,该按钮调用我在模态控制器中添加的函数,该控制器对someGlobal的值执行window.alert)。再看一看-这和你正在做的相符吗这个plunkr的设置方式与我的设置方式基本相同。不幸的是,我卡在模式中的Javascript根本无法执行。不太清楚那里发生了什么,但它让你感受到我们正在努力做的事情。
resolve