我在AngularJS是绝对新的,我发现了一些困难,试图了解它究竟是如何实现MVC模式。AngularJS中的模块究竟是什么?
所以我有与此相关的例子这第一疑惑中,我有2个文件:
1)的index.htm:
<!DOCTYPE html>
<html lang="en-us" ng-app="angularApp">
<head>
<title>Introduction to AngularJS</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta charset="UTF-8">
<!-- load bootstrap and fontawesome via CDN -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
<style>
html, body
{
font-size: 1.1em;
}
</style>
<!-- load angular via CDN -->
<script src="//code.angularjs.org/1.3.0-rc.1/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<header>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">AngularJS</a>
</div>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"><i class="fa fa-home"></i> Home</a></li>
</ul>
</div>
</nav>
</header>
<div class="container">
<!-- This div and its content is the view associated to the 'mainController': -->
<div ng-controller="mainController">
<h1>Hello world!</h1>
</div>
</div>
</body>
</html>
2)app.js文件:
/* MODULE: one signgle object in the global namespace.
Everything indise the element having ng-app="angularApp" custom attribute is connected to the angularApp variable into the
global namespace
*/
var angularApp = angular.module('angularApp', []);
// CONTROLLERS
angularApp.controller('mainController', ['$scope', function ($scope) {
}]);
我发现一些困难,试图确定谁是型号,谁是控制器,谁是VIEW。
所以,在我看来明白NG-应用= “angularApp”上的HTML标签定义的属性:
<html lang="en-us" ng-app="angularApp">
绑定整个的index.htm页的angularApp变量
var angularApp = angular.module('angularApp', []);
那么究竟代表angularApp变量?它是一个角度模块?以及Angular中的模块究竟代表什么?
我只有用自己的角度最小的经验,但据我了解,该模块在MVC模式中执行控制器的角色。在模块内部是视图中每个动态元素的“模型”。那些被声明为这样的'$ scope.PropertyA = blah;'或者可能是一个函数而不是一个值。 – Bardicer
@Nick所以我可以说$ scope对象与Java MVC应用程序的模型对象(POJO)类似? – AndreaNobili
因为我没有Java经验,所以我无法真正回答这个问题。 – Bardicer