Puede usar angular.bootstrap()
directamente ... el problema es que pierde los beneficios de las directivas.
Primero debe obtener una referencia al elemento HTML para arrancarlo, lo que significa que su código ahora está acoplado a su HTML.
En segundo lugar, la asociación entre los dos no es tan evidente. Con ngApp
usted puede ver claramente qué HTML está asociado con qué módulo y sabe dónde buscar esa información. Pero angular.bootstrap()
podría invocarse desde cualquier parte de su código.
Si va a hacerlo de la mejor manera, sería usando una directiva. Que es lo que hice. Se llama ngModule
. Así es como se vería su código al usarlo:
<!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>
Puede obtener el código fuente en:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/
Se implementa de la misma manera que ngApp
. Simplemente llama angular.bootstrap()
detrás de escena.
{{item.product_name}}
realidad "imprime" un valor de su modelo