คุณสามารถใช้angular.bootstrap()
โดยตรง ...ปัญหาคือคุณเสียประโยชน์จากคำสั่ง
ก่อนอื่นคุณต้องได้รับการอ้างอิงถึงองค์ประกอบ HTML เพื่อที่จะบูตมันซึ่งหมายความว่าตอนนี้โค้ดของคุณจะถูกผนวกเข้ากับ HTML ของคุณ
ประการที่สองความสัมพันธ์ระหว่างสองไม่ชัดเจน ด้วยngApp
คุณสามารถเห็นได้อย่างชัดเจนว่า HTML เกี่ยวข้องกับโมดูลใดและคุณรู้ว่าจะหาข้อมูลนั้นได้จากที่ใด แต่angular.bootstrap()
อาจถูกเรียกใช้จากที่ใดก็ได้ในรหัสของคุณ
หากคุณกำลังจะทำมันด้วยวิธีที่ดีที่สุดก็คือการใช้คำสั่ง สิ่งที่ฉันทำ ngModule
มันเรียกว่า นี่คือลักษณะที่โค้ดของคุณจะดูเหมือนใช้:
<!DOCTYPE html>
<html>
<head>
<script src="angular.js"></script>
<script src="angular.ng-modules.js"></script>
<script>
var moduleA = angular.module("MyModuleA", []);
moduleA.controller("MyControllerA", function($scope) {
$scope.name = "Bob A";
});
var moduleB = angular.module("MyModuleB", []);
moduleB.controller("MyControllerB", function($scope) {
$scope.name = "Steve B";
});
</script>
</head>
<body>
<div ng-modules="MyModuleA, MyModuleB">
<h1>Module A, B</h1>
<div ng-controller="MyControllerA">
{{name}}
</div>
<div ng-controller="MyControllerB">
{{name}}
</div>
</div>
<div ng-module="MyModuleB">
<h1>Just Module B</h1>
<div ng-controller="MyControllerB">
{{name}}
</div>
</div>
</body>
</html>
คุณสามารถรับซอร์สโค้ดได้ที่:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/
ngApp
ก็ดำเนินการในลักษณะเดียวกับที่ มันเรียกเพียงแค่angular.bootstrap()
เบื้องหลัง