アングラーの単一ページを解決するには、一つのng-apだけをロードすることができます。
9171 ワード
実際には、一つのページに複数のng-apがあれば、angglarは最初のng-ap関連問題だけを処理することができます。単一のanglarページには二つのng-apがありますか?http://stackoverflow.com/questions/18571301/angularjs-multiple-ng-app-within-a-page
問題の繰り返し:
解決方法: angglarがng-apタグを見つけたら、まずmoduleに関するdirective をロードする。アプリケーション関連injector(依存マネージャ) を作成します。は、ゲームアプリをルートノードとするDOMのコンパイルを開始する 。
2、anglar.bootstrap方法は、ng-apを検索する過程を省き、bootstrapに伝えるパラメータの一つはDOMオブジェクト、もう一つはモジュール名配列と理解できる。
問題の繰り返し:
<html>
<head>
<meta charset="utf-8">
<title>title>
<style> style>
<script src="js/jquery.min.js">script>
<script src ="js/angular.js">script>
<script >
var app = angular.module("myapp",[]);
app.directive("hello",function(){
return {
restrict:"E",
template:'Hello angular'
,
replace:true
}
});
var app2 = angular.module("dir",[]).run(function($templateCache){
$templateCache.put("header.html","use templateCache
");
});
app2.directive("dir",function($templateCache){return {
restrict:"E",
template:$templateCache.get("header.html"),
replace:true
}});
script>
head>
<body >
<div ng-app="myapp">
<hello>hello>
div>
<div ng-app="dir">
<dir>dir>
div>
body>
html>
運転後は出力のみになります。ハローアングラー解決方法:
angular.bootstrap
を使用して、手動で第二のng-apを制御に追加します。angular.bootstrap($("dir"),['dir']);
もちろん、第二のng-apで引き継ぐdivには、id属性dirを追加して、第二のng-apを削除します。したがって、最終的に2つのng-apが同時に1つのページに存在することができる完全な例示的なコードは、
<html>
<head>
<meta charset="utf-8">
<title>title>
<style> style>
<script src="js/jquery.min.js">script>
<script src ="js/angular.js">script>
head>
<body >
<div ng-app="myapp">
<hello>hello>
div>
<div id="dir" >
<dir>dir>
div>
<script >
var app = angular.module("myapp",[]);
app.directive("hello",function(){
return {
restrict:"E",
template:'Hello angular'
,
replace:true
}
});
var app2 = angular.module("dir",[]).run(function($templateCache){
$templateCache.put("header.html","use templateCache
");
});
app2.directive("dir",function($templateCache){return {
restrict:"E",
template:$templateCache.get("header.html"),
replace:true
}});
angular.bootstrap($("dir"),['dir']);
script>
body>
html>
anglar.bootstrapの一点について検討します。1.ng-apを使って、ページを読み込む時はこのように処理します。2、anglar.bootstrap方法は、ng-apを検索する過程を省き、bootstrapに伝えるパラメータの一つはDOMオブジェクト、もう一つはモジュール名配列と理解できる。