AngularJS总结

Posted 猕猴桃姑娘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS总结相关的知识,希望对你有一定的参考价值。

最近学习AngularJS的内容,小果做了总结文档,方便重复记忆.

AngularJS是一个为动态WEB应用设计的结构框架,这种方式可以扩展html语法,弥补构建动态WEB应用时静态文本的不足.

一.五个核心特性:

  1.数据双向绑定;

  2.模板;

  3.MVVM;

  4.依赖注入;

  5.指令.

二.实现:

  AngularJS通过指令的新属性来扩展HTML,是绑定在DOM元素上的函数;浏览器启动,Angular编译器遍历DOM树来解析HTML,寻找指令属性函数,并收集起来,进行排序,按照优先级顺序执行指令函数.(前缀:ng-)

三.优点:

  1.实现前后端分离,后端只提供数据接口;路由以及模板等在前端完成;

  2.html和js分离,展示和逻辑的分离;

  3.减少js代码,减少DOM元素查找,事件绑定等代码;

  4.适合API开发.

ok,代码君来了:

  1.引入

<div ng-app=""></div>   //初始化,标明是AngularJS应用程序,并标记作用域

  2.初始化数据

<div ng-app="" ng-init=""></div>     //赋值对象:字符串.数字.数组.对象...

  3.绑定数据

<div ng-app="" ng-init="">
    <input type="text" ng-model=""/>      //把相关事件绑定在指定标签上面,实现model与view的双向绑定
</div>

  4.点击事件

<div ng-app="" ng-init="">
    <button ng-click=""></button>   
</div>

  5.遍历数据

<div ng-app="" ng-init="arr=[\'3\',\'5\',\'9\']">
    <ul>
	  <li ng-repeat=“x in arr”>{{x}}</li>   //遍历集合中的每个数据元素
    </ul>
</div>

  6.动态定义css的对应的ClassName

<style type="text/css">
  .active{
	color:red;
  }
  .inactive{
	color:green;
  }
</style>
<body ng-app="" ng-init="">
  <input type="text" ng-model="name1" />
  <input type="text" ng-model="name2" />
  <div ng-class="{true:\'active\',false:\'inactive\'\'}[isActive]">
	{{name1 + "" + name2}}
  </div>
</body>

  7.提取多个公共页面

<div ng-include="\'header.html\'"></div>     //必须用web站点才能打开,本地模式访问报错;写文件名要加单引号,否则系统当作变量处理

 demo展示

1.

<body>
  <div class="ang" ng-app="">
	输入的内容:<input type="text" ng-model="name" ng-init="name=\'猕猴桃姑娘\'"/>
	<br />
	显示输入值:
	{{name}}
  </div>
</body> 

  效果:(初始状态)

(输入新内容)

2.

<body>
  <div class="ang" ng-app="" ng-init="name1=\'天气\';name2=\'不错\'">
	输入内容1:<input type="text" ng-model="name1" />
	<br />
	输入内容2:<input type="text" ng-model="name2" />
	<div>
	  内容显示:{{name1 + name2}}
	</div>
  </div>
</body>

  效果:(初始状态)

输入新内容:

3.

<body>
  <div class="ang" ng-app="" ng-init="fruit={apple:\'苹果\',banana:\'香蕉\'}">
	对象1:<input type="text" ng-model="fruit.apple" />
	<br />
	对象2:<input type="text" ng-model="fruit.banana" />
	<br />
	{{fruit.apple + "喜欢" + fruit.banana}}
  </div>
</body>

  效果:

4.

<body>
  <div class="ang" ng-app="" ng-init="arr=[1,2,3,4]">
	{{arr[1] + arr[2]}}
  </div>
</body>

  效果:

5.

<body>
  <div class="ang" ng-app="" ng-init="click=false">
	<button ng-click="click=!click">hide/show</button>
	<div ng-hide="click">
	  输入内容: <input type="text" ng-model="fruit" />
	  <br />
	  Wow! <span ng-bind="fruit"></span>
	</div>
  </div>
</body>

  效果:(初始状态)

输入内容:

点击按钮

再次点击按钮

 6.

<body>
  <div class="ang" ng-app="" ng-init="arr=[{\'user\':\'apple\',\'pass\':\'1111\'},{\'user\':\'banana\',\'pass\':\'2222\'}]">
  <ul>
	<li ng-repeat="x in arr">
	用户:<span>{{x.user}}</span>
	密码:<span>{{x.pass}}</span>
	</li>
  </ul>
  </div>
</body>

  效果:

7.

<body>
  <div class="ang" ng-app="" ng-init="arr=[{\'user\':\'apple\',\'pass\':\'1111\',\'else\':\'苹果\'},{\'user\':\'banana\',\'pass\':\'2222\',\'else\':\'香蕉\'}]">
	<table border="1">
		<tr ng-repeat="x in arr">
		  <td>
			{{x.user}}
		  </td>
		  <td>
			{{x.pass}}
		  </td>
		  <td>
			{{x.else}}
		  </td>
		</tr>
	</table>
  </div>
</body>

  效果:

8.

<body>
  <div class="ang" ng-app="" ng-init="obj={\'user\':\'apple\',\'pass\':\'1111\',\'else\':\'苹果\'}">
	<table border="1">
	  <tr ng-repeat="(key,value) in obj">
		<td>{{key}}</td>
		<td>{{value}}</td>
	  </tr>
    </table>
  </div>
</body>

  效果:

9.

.apple{
  color: orangered;
 }
.banana{
  color: green;
 }
<body>
  <div class="ang" ng-app="" ng-init="name1=\'you\';name2=\'you\';isActive=\'false\'">
	<button ng-click="isActive=!isActive">Change</button>
	<br />
	<input type="text" ng-model="name1" />
	<input type="text" ng-model="name2" />
	<div ng-class="{true:\'apple\',false:\'banana\'}[isActive]">
	  {{name1 + name2}}
	</div>
  </div>
</body>

效果:(初始状态)

点击按钮:

 

 正在准备综合性的第10个案例,十全十美,先吃饭O(∩_∩)O

  

 

 

 

 

  

 

以上是关于AngularJS总结的主要内容,如果未能解决你的问题,请参考以下文章

从 AngularJS url 中删除片段标识符(# 符号)

初入AngularJS基础门

AngularJS ——ngResourceRESTful APIs 使用

浅谈AngularJS中的$parse和$eval

AngularJS

python常用代码片段总结