Angularjs基础知识及示例汇总


Posted in Javascript onJanuary 22, 2015

angularjs是google开发的一款高大上的前端mvc开发框架。

Angularjs官网:https://angularjs.org/ 官网有demo,访问可能需要FQ

Angularjs中国社区:http://www.angularjs.cn/ 适合初学者

引用文件:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js

使用angular注意

引用angularjs库:https://github.com/litengdesign/angularjsTest/blob/master/angular-1.0.1.... 可以在本节示例的github上下载
需要在你使用的区域加上ng-app="appName",或者直接ng-app(全局)。
设置控制器 ng-controller="Ctrl"。
测试一下示例请注意以下几点

需要在head之前引入angularjs代码,作者使用的是angular-1.0.1.min.js,请注意版本区别。
所有小示例都是在以下区域运行,记得在作用区域加上 ng-app。
下面通过一些小的案例来说明angularjs默认的常见的指令和用法。

hello world程序(双数据绑定)

使用ng-model={{name}}来绑定数据

<label for="name">name:</label>

<input type="text" ng-model="name" id="name"/>

<hr>

hello:{{name || 'liteng'}}

 http://2.liteng.sinaapp.com/angularjsTest/helloangularjs.html

事件绑定使用小案例

<div>

  单价:<input type="number" min=0 ng-model="price" ng-init="price=299">

  数量: <input type="number" min=0 ng-model="quantity" ng-init="quantity=1">   

  <br>

  总价:{{(price) * (quantity)}}

  <dt>

    <dl>注:</dl>

    <dd>涉及html5的input:<a href="http://www.w3school.com.cn/html5/att_input_type.asp">http://www.w3school.com.cn/html5/att_input_type.asp</a></dd>

    <dd>ng-init:设定初始值</dd>

  </dt>

</div>

 http://2.liteng.sinaapp.com/angularjsTest/event-bind.html

ng-init:可默认指定属性值

<p ng-init="value='hello world'">{{value}}</p>

 http://2.liteng.sinaapp.com/angularjsTest/ng-init.html

ng-repeat:用于迭代数据类似于js中的 i for info

<div ng-init="friends=[{name:'Jhon',age:25},{name:'Mary',age:28}]"></div>

  <p>我有{{friends.length}} 朋友.他们是</p>

  <ul>

    <li ng-repeat="friend in friends">

      [{{$index+1}}]:{{friend.name}}年龄为:{{friend.age}}

    </li>

   </ul>

 http://2.liteng.sinaapp.com/angularjsTest/ng-repeat.html

ng-click:dom的点击事件

<div ng-controller="ctrl">

  <button ng-dblclick='showMsg()'>{{a}}</button>

</div>

<script> 

    function ctrl($scope){

      $scope.a='hello';

      $scope.showMsg=function(){

        $scope.a='world';

      }

     }

  </script>

 http://2.liteng.sinaapp.com/angularjsTest/ng-click.html

ng-show:设置元素显示

注:ng-show="!xx":在属性值前面加!表示确定显示,如果不加!表示不确定则不显示

<div ng-show="!show">

  ng-show="!show"

</div>

<div ng-show="show">

  ng-show="show"

</div>

 http://2.liteng.sinaapp.com/angularjsTest/ng-show.html

ng-hide:设置元素隐藏

<div ng-hide="aaa">

  ng-hide="aaa"

</div>

<div ng-hide="!aaa">

  ng-show="!aaa"

</div>

 http://2.liteng.sinaapp.com/angularjsTest/ng-hide.html

运用ng-show制作toggle效果

<h2>toggle</h2>

  <a href ng-click="showLog=!showLog">显示logo</a>

  <div ng-show="showLog">

    <img ng-src="http://liteng.org/sites/default/files/logo.png" alt="">

  </div>

 http://2.liteng.sinaapp.com/angularjsTest/ng-toggle.html

ng-style:和默认style类似

这里请注意书写格式:字符串需要用引号包含

<div ng-style="{width:100+'px',height:200+'px',backgroundColor:'red'}">

  box

</div>

 http://2.liteng.sinaapp.com/angularjsTest/ng-style.html

filter:过滤字段

<div>{{9999|number}}</div> <!--9,999-->

<div>{{9999+1 |number:2}}</div><!--10,000.00-->

<div>{{9*9|currency}}</div><!--$81.00-->

<div>{{'hello world' | uppercase}}</div><!--HELLO WORLD-->

 http://2.liteng.sinaapp.com/angularjsTest/filter.html

ng-template:可以加载模板

<div ng-include="'tpl.html'"></div>

 tpl.html

<h1>hello</h1>

 http://2.liteng.sinaapp.com/angularjsTest/show-tpl.html

$http:一个类似ajax的方法很管用

<div class="container" ng-controller="TestCtrl">

  <h2>HTTP请求-方法1</h2>

    <ul>

        <li ng-repeat="x in names">

        {{x.Name}}+{{x.Country}}

        </li>

    </ul>

</div>

<h2>方法2</h2>

  <div ng-controller="TestCtrl2">

     <ul>

        <li ng-repeat="y in info">

            {{y.aid}}+{{y.title}}

        </li>

     </ul>

</div>

<script>

//方法1

      var TestCtrl=function($scope,$http){

         var p=$http({

            method:'GET',

            url:'json/date.json'

         });

         p.success(function(response,status,headers,config){

            $scope.names=response;

         });

         p.error(function(status){

            console.log(status);

         });

      }

      //方法2

      function TestCtrl2($scope,$http){

        $http.get('json/yiqi_article.json').success(function(response){

             $scope.info=response;

        });

      }

</script>

 http://2.liteng.sinaapp.com/angularjsTest/ajax.html

以上所有的code:https://github.com/litengdesign/angularjsTest

实现的demo:http://2.liteng.sinaapp.com/angularjsTest/index.html

至于angularjs的路由(router)和指令(directive)下次本人将单独拿出来讲。

Javascript 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
Date对象格式化函数代码
Jul 17 Javascript
JavaScript打字小游戏代码
Dec 26 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
Dec 08 Javascript
JavaScript实现选中文字提示新浪微博分享效果
Jun 15 Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 Javascript
vue组件与复用详解
Apr 08 Javascript
小程序实现列表点赞功能
Nov 02 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
基于js实现数组相邻元素上移下移
May 19 Javascript
jquery使用正则表达式验证email地址的方法
Jan 22 #Javascript
使用jquery操作session方法分享
Jan 22 #Javascript
jQuery实现“扫码阅读”功能
Jan 21 #Javascript
JavaScript中document.forms[0]与getElementByName区别
Jan 21 #Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
Jan 21 #Javascript
JavaScript的内存释放问题详解
Jan 21 #Javascript
script标签属性用type还是language
Jan 21 #Javascript
You might like
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
php递归创建目录的方法
2015/02/02 PHP
twig里使用js变量的方法
2016/02/05 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python中self原理实例分析
2015/04/30 Python
Python解析nginx日志文件
2015/05/11 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
怎样声明接口
2014/09/19 面试题
反腐倡廉警示教育活动总结
2014/05/05 职场文书
团队精神口号
2014/06/06 职场文书
班子四风对照检查材料
2014/08/21 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL