请遵守我在下面提供的代码段。
<div ng-app = "">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
<div ng-app = "mainApp">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
在第一种情况下,我得到了期望的输出,在第二种情况下,我得到了作为Hai {{name}}的输出!
请告诉我这两种情况之间的区别,以及命名ng-app模块如何影响输出。
首先,尝试了解ng-app的概念。
使用此指令自动引导AngularJS应用程序。ngApp指令指定应用程序的根元素,通常放置在页面根元素附近-例如在或标记上。
- ng-app的意思是:该页面中包含Angular!
- ng-app =“ module”的意思是:该页面中包含Angular,并且在该模块中定义了必要的控件/服务/等。
- ng-app定义应用程序的主模块或引导程序模块,应执行应用程序的初始化任务。
像在Java中一样,您有许多方法和类,但是您定义了一个主要方法作为起点。同样,在angular中,您有许多模块,但是,您将一个模块定义为应用程序的起点。
情况1:这将在全局范围内定义控制器功能。
尽管Angular允许您在全局范围内创建Controller函数,但不建议这样做。在实际的应用程序中,应为应用程序使用Angular Module的.controller方法
的HTML
<div ng-app="" ng-controller="GreetingController">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
角度的
function GreetingController($scope) {
$scope.name = "Hello";
}
情况2:这将定义模块范围
您可以指定一个AngularJS模块用作应用程序的根模块。当应用程序被引导时,该模块将被加载到$ injector中。
的HTML
<div ng-app="myApp" ng-controller="GreetingController">
<input type="text" autofocus="autofocus" placeholder="Enter your name"
ng-model="name"><br>
Hai {{name}}!
</div>
角度的
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.name = 'Hola!';
}]);
该应用程序的官方文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句