0

同じ名前の AngularJS アプリを使用して、ページに 2 つのスコープを作成する必要があります。理由は、本文タグへの追加を許可しない 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>

上記を実行すると、最初の角度スコープは正常に実行されますが、2 番目は無視されるようです。同じページに同じ名前の 2 つの ng-apps が許可されていないためだと思います。

私のJSファイルには、「app」と「ctrl」しかありません。これを行う他の方法はありますか?

js ファイルに 2 つの角度のあるアプリを作成できますが、すべてのコードを複製する必要があります...そうですか?

上記の 2 つのディレクティブを javascript を使用して body タグに追加するのが最も簡単/簡単ではないでしょうか?

4

2 に答える 2

1

ページでアプリを初期化するために使用する必要があります。DOM の準備ができたときに角度アプリangular.bootsrapを初期化するコードを ready イベント内に追加してください。angular.element

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 に答える