0

我需要在我的页面上使用同名的 AngularJS 应用程序创建两个范围。原因是我使用的 Wordpress 主题不允许添加到正文标签。而且我无法创建具有角度属性的高级 div,因为主题会自动添加关闭 div。

两个角度范围都在做同样的事情。

这就是我想要的:

<!-- lots of theme code here -->
 <div ng-app="app" ng-controller="ctrl">some angular variables and HTML</div>

<!-- lots of theme code here -->
 <div ng-app="app" ng-controller="ctrl">some angular variables and HTML</div>

当我执行上述操作时,第一个角度范围执行得很好,但第二个似乎被忽略了。我想是因为不允许在同一页面上使用相同名称的两个 ng-apps。

在我的 JS 文件中,我只有“app”和“ctrl”。还有其他方法可以做到这一点吗?

我可以在 js 文件中创建两个 Angular 应用程序,但是我必须复制我的所有代码......对吗?

使用javascript将上述两个指令添加到body标签可能不是最简单/最简单的吗?

4

2 回答 2

1

您应该使用angular.bootsrap在您的页面上初始化您的应用程序,请在angular.element准备好的事件中添加您的代码,该事件将在 DOM 准备好时初始化您的角度应用程序。

angular.element(document).ready(function() {
  //document inside angular.bootstrap could be replaced by any element selector,
  //wherever you want to inject your angular app
  angular.bootstrap(document, ['myApp']);
});

我相信使用上述方法会更好,谢谢。

于 2015-03-14T18:32:41.417 回答
0

简单的解决方案:只需使用 javascript 动态地将 ng-app 和 ng-controller 添加到 body 标签。脚本必须位于页面底部,以便 DOM 可以首先完全加载。

于 2015-03-14T17:24:56.217 回答