0

次の例では、3 つのモジュールがあり、最初のモジュールは 2 番目のモジュールに必要です。ng-appこれは、 inを使用して参照すると機能しdivます。しかし、という名前の 3 番目のモジュールはsomeonesApp機能しません。ng-app を使用して 2 番目のモジュールが参照されている場合、run メソッドは実行されません。最初の 2 つのモジュールがなくても 3 番目のモジュールが機能するのはなぜですか?

<!DOCTYPE html>
<html >
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>


</head>
<body ng-init="name='123'">

<div ng-app="myApp">
</div>

<div ng-app="someonesApp">
</div>



<script>

var yourApp = angular.module('yourApp',[]);
yourApp.run(function(){
    console.log('run block of yourApp');
});


var myApp = angular.module('myApp',['yourApp']);

myApp.run(function(){
    console.log('run block of myApp');
});


var someonesApp = angular.module('someonesApp',[]);

someonesApp.run(function(){
    console.log('run block of someonesApp');
});



</script>

</body>    
</html>

これが変更されたコードです。この場合、私は削除<div ng-app="myApp"></div>し、3 番目のモジュールは機能します。

<!DOCTYPE html>
<html >
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>


</head>
<body ng-init="name='123'">

<div ng-app="someonesApp">
</div>



<script>

var yourApp = angular.module('yourApp',[]);
yourApp.run(function(){
    console.log('run block of yourApp');
});


var myApp = angular.module('myApp',['yourApp']);

myApp.run(function(){
    console.log('run block of myApp');
});


var someonesApp = angular.module('someonesApp',[]);

someonesApp.run(function(){
    console.log('run block of someonesApp');
});



</script>

</body>    
</html>
4

0 に答える 0