`
247687009
  • 浏览: 171215 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

酷酷的前端MVC框架AngularJS(二)HelloWorld

阅读更多

angularJS在github上面进行一个代码的托管

地址:https://github.com/angular/angularjs.org  

注意:需要兼容IE8的同学请下载1.3之前的版本,在1.3之后已经放弃了IE8,估计是为了以后大版本升级做铺垫吧。各个版本的下地址在这里https://github.com/angular/angular.js/releases

新建一个hello.html

<script src="/soa-rest/static/app-js/angular.js"></script>
<script src="/soa-rest/hello.js"></script>

 angular.js是 NG的核心文件必须导入 hello.js 是书写我们自己的js代码文件。

在hello.js中加入如下代码

var app = angular.module('helloModule',[])
.controller('helloController',['$scope',function($scope){
	$scope.world = 'World !!';
}]);

 

第一行

var app = angular.module('helloModule',[])

告诉NG我要创建一个新的模块,第一个参数是模块的名字‘helloModule’,第二个参数是一个数组,传入所依赖的模块名称。这里我们只是一个简单的hello,不需要以来其他模块,所以传入一个空数组即可。

第二行

.controller('helloController',['$scope',function($scope){
	$scope.world = 'World !!';
}]);

   

NG是支持链式编程的,可以直接点,也可以使用app.的方式,看自己习惯,我更习惯链式编程的方式。这里看到一个新的单词‘controller’,没有错这就是NG中mvc的控制器的创建方式,第一个参数是控制器的名称,第二个参数是一个数组。在数组中第一二个参数是‘$scope’,scope的意思是域,同样在NG中他同样也是作用域的概念,这是一盒NG内置的对象,也可以理解为当前控制器作用域,NG中使用它来进行双向数据绑定,方法绑定等等。第二个参数是匿名函数,NG在执行的时候看到我们声明在匿名函数之前的‘$scope’便会把$scope注入给我们,我定义一个参数接受即可,如果没有找到我们所需要的便会抛出Error(是不是和spring的注入一样呢?思想是一样呀,嘿嘿!)。在匿名方法内部声明一个局部变量为world,并且赋值。这样子控制器就算写好了。

在hello.html页面中编写

  <body  ng-app="helloModule">
  <div ng-controller="helloController">
   	hello <span ng-bind="world"></span>
   <br>
   	hello  <span>{{world}}</span>
  </div>
  </body>

 

 第一行中的body中有一个属性为ng-app,意思为程序的入口,等同于java中的main方法。一个应用一般存在一个入口即可。ng-app的值其实就算我们刚刚声明的模块的名称。接下来的第二行一个DIV 中有一个属性 ng-controller 看单词意思就知道是ng的控制器了,value是刚刚创建的控制器的名称即可。在NG中有两种获取值得方式 ,第一种方式就算使用{{}}两对大括号的方式,这种方式是存在一定的问题的。在刷新速度过快活着网络卡顿的时候,会将{{key}}这种代码级别的展示给用户。第二章方式很好的解决了这一问题,使用NG提供的属性ng-bind 即可,简单把!以上步骤完成之后刷新hello.html 。

hello World !! 
hello World !!

 

 两个hello World就打印在页面上了。

 

 

 

 

  • 大小: 27.1 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics