只有一个应用程序在DOM中工作

Only one application working in the DOM

本文关键字:工作 DOM 有一个 应用程序      更新时间:2023-09-26

根据我对范围指南的理解,我应该能够在DOM元素中托管应用程序,例如div(而不是通过HTML标记中的ng-app属性全局托管)。

它似乎对第一个应用程序有效,但对另一个应用程序无效。我有下面的例子,我希望AppUnoAppDuo能工作,而AppTri会失败。然而,情况是,只有第一个行为符合预期。

<body>
  <div ng-app="AppUno">Uno {{someHolder}}!</div>
  <div ng-app="AppDuo">Duo {{someHolder}}!</div>
  <div ng-app="AppTri">Tri {{someHolder}}!</div>
</body>
var uno = angular.module('AppUno', []);
var duo = angular.module('AppDuo', []);
uno.run(function ($rootScope) {
  $rootScope.someHolder = "Blipp";
});
duo.run(function ($rootScope) {
  $rootScope.someHolder = "Blopp";
});

我是否误解了划分范式?这是我眼睛看不见的语法错误吗?还有别的吗?

输出如下。

Uno Blipp
二人组
三{someHolder}}!

问题是你只能有一个ng-app指令;

你可以运行多个应用程序,但只有一个可以用ng-app引导(对于其他应用程序,你需要使用angular.bootstrap手动引导它们)


就划分范式而言,有很多方法可以创建子作用域,使用您的结构可以考虑ng控制器。