2015-08-30 107 views
-2

所有手动自举的例子使用下面的模式:如何在没有引导的情况下执行Angular代码?

angular.module('myApp', []); 
angular.bootstrap(document, ['myApp']); 

不过,我并不需要的角度看文件,我只需要打开使用的用户界面,引导模块弹出。

我能够做到的最好的是以下几点:

$("...").click(function() { 
    angular.module("pp", ["ui.bootstrap"]) 
    .config(["$modal", function($modal) { 
    $modal.open({ 
     template: "Hello!" 
    }); 
    }]); 
    angular.bootstrap(null, ["pp"]); 
}); 

然而,这将重新引导角每一次,遍地重新创建相同的模块,首先它不work-configs与提供程序初始化一起运行,因此当时没有$模块依赖项。

基本上,我试图将角度合并到现有应用程序中,而不会在当前结构中造成显着的干扰。我想要角色来管理一个弹出窗口,现在没有别的了,所以普通的引导程序控制器似乎并不是最好的选择。

有没有办法运行该模式而不做全局角引导?

+0

_“我不需要角度来看文档,”_ - 然后不通过'document'。你可以传递任何元素。 – zeroflagL

回答

1

您是否尝试过对整个文档进行角度引导,并且根本没有将它用于除模态调用之外的任何其他内容?除非与当前代码存在命名空间冲突,否则无需每次引导都可以使用Angular函数。

+0

但是,我将如何使用“角函数”呢?例如,我在角上下文之外,所以我不能以通常的方式访问这个$模式。我试图直接使用angular.injector()来获取$ modal,但是它找不到它(当bootstrapping时,我指定了ui.bootstrap作为依赖项)。 – Rogach

+0

充其量似乎是hacky,但是当你引导时,设置一个等于旅馆角度模态函数的全局变量? – jwkicklighter

+0

即使我选择了这种方法 - 我该怎么做?我无法在bootstrap或.config文件中获得$ modal,因为提供程序在那时尚未完全初始化。 – Rogach

1

为什么不使用只有Bootstrap没有角包装?

角度指令只包含原始bootstrap modals与一些额外的东西。

当你可以用Bootstrap本身实现同样的功能时,似乎对我来说包含Angular + Bootstrap + UI Bootstrap有点无意义。

相关问题