AngularJs 特性 之 MVC

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="../../jslib/angular.min-1.5.8.js"></script>
    <script src="HelloAngular_MVC.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
    {{greeting.text}},Angular
</div>

</body>
</html>

HelloAngular_MVC.js

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.greeting = {
        text:"Hello"
    };
});

从Angular-1.3.0 beta15开始,Angular不再支持全局的Controller!

我们一般接触到的第一个入门教程都是类似与这样的,代码简单。我们有个ng-app作为Angular的启动口,然后ng-controller="helloCtrl"控制p标签。View层,则用双花括号出入数据greeting的message值。然后在下面的script定义了一个helloCtrl的函数,并为$scope.greeting赋了值。这一切看起来都是那么自然,想象中,浏览器就该出现,"Hello, World!"。可惜的是,浏览器给了我们这样的回复。

AngularJs里,有一个angular.module,模块机制就是靠这个来加载的。

在angular.module(String, moduleArray)函数里,第一个String参数是该模块的名字,第二个参数是所依赖的模块(这里暂时用不着),返回了myApp这个模块,然后再通过模块的controller方法定义helloCtrl控制器即可。

仅仅是多定义一个helloController模块,这样myApp,就可以仅仅作为启动口,而不会混杂着控制器。我们可以定义多个js文件,清晰明确的通过模块梳理整个项目的结构。

原文地址:https://www.cnblogs.com/sherrykid/p/5730580.html