如何在不引导的情况下执行Angular代码?

How can I execute Angular code without bootstrapping?

本文关键字:执行 情况下 Angular 代码      更新时间:2023-09-26

所有手动引导示例都使用以下模式:

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

然而,我不需要angular来查看文档,我只需要使用ui-bootstrap模块打开一个弹出窗口。

我所能做到的最好的是:

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

然而,这将每次重新引导angular,一次又一次地重新创建相同的模块,最重要的是它不起作用——configs与提供商初始化一起运行,因此那时没有可用的$module依赖项。

基本上,我正在尝试将angular合并到现有的应用程序中,而不会对当前结构产生重大干扰。我想让angular管理一个单一的弹出窗口,现在没有其他的,所以正常的引导&控制器方式似乎不是最好的选择。

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

您是否尝试过将angular引导到整个文档,并且除了模态调用之外根本不使用它?除非你的当前代码存在命名空间冲突,否则这样做似乎可以让你在任何你喜欢的地方使用Angular函数,而不必每次都启动。

为什么不直接使用没有angular包装的Bootstrap呢?

angular指令只会用一些额外的东西包装原始的bootstrap模态。

对我来说似乎有点没有意义,包括Angular + Bootstrap + UI Bootstrap,当你可以实现相同的只是与Bootstrap本身。