【问题标题】:how can i add multiple modules in one page in angularjs如何在angularjs的一页中添加多个模块
【发布时间】:2016-02-12 08:10:37
【问题描述】:

我正在使用 Codeigniter 框架通过 PHP 开发 Web 应用程序。在控制器中,我将 2 个视图加载为 $this->load->view('menu.html') & $this->load ->view('home.html').

在 html 页面中我使用的是 Angularjs 框架。因为每个页面都有自己的模块;但是在加载 menu.html 后,第二个 home.html 没有正确加载,因为在 angularjs 中只能有一个 ng-app。

那么如何使用不同的模块在单个页面上添加两个视图**(对于每个 html,我创建了单独的模块文件,意味着单独的 javascript 文件**)

【问题讨论】:

  • 这里他们在单个 html 页面中使用了两个 ng-app,但我在单个页面的页面中使用了两个 html& 我为每个 html 页面创建了单独的模块
  • 这是像单页应用程序一样使用,还是真的在一页中有多个视图?
  • 一页中有多个视图

标签: javascript php html angularjs codeigniter


【解决方案1】:

您可以在 dom 元素上手动引导角度:

angular.bootstrap(div1, ['app1']);
angular.bootstrap(div2, ['app2']);

【讨论】:

  • 这里最初是我的 menu.html 文件被加载,之后 home.html 被加载,所以有单独的 html 文件。
【解决方案2】:

Angular 只会引导它遇到的第一个 ng-app。您应该只使用一个应用程序(模块),但您可以轻松创建一个使用其他两个模块的模块。

angular.module("app", ["yourHomeModule", "yourMenuModule"]);

ng-app="app"

【讨论】:

  • 但是我可以在哪里添加 ng-app="app",因为 2 个不同的 html 页面正在加载
  • 表示 我将 home.html 附加到 menu.html
  • 您可以将其包含在加载 2 个页面的“主页”中。如果这不起作用,请提供您的代码示例,否则我们无法提供更多帮助。
  • 在 PHP 控制器文件中我加载了两个视图为$this->load->view ( 'menus.html' ); $this->load->view ( 'index.html' );
  • 在 menu.html 文件中
    <!DOCTYPE html> <html> <head><script data-require="angular.js@*" data-semver="1.3.7" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"></script> <script type="text/javascript" src="js/controller/menu.js"></script> <link rel="stylesheet" href="style.css" /> <meta charset="ISO-8859-1"> <title>Insert title here</title> </head> <body id='menus'> <div> <div ng-controller="FirstController"> <p>1: {{ desc }}</p> </div> </div> </body> </html>
猜你喜欢
  • 2015-03-16
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多