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 相关文章推荐
javascript中获取选中对象的类型
Apr 02 Javascript
JS类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
javascript中为某个元素指定事件的三种方式
Aug 07 Javascript
浅谈JavaScript函数节流
Dec 09 Javascript
JavaScript获得页面base标签中url的方法
Apr 03 Javascript
javascript去除空格方法小结
May 21 Javascript
用JavaScript实现页面重定向功能的教程
Jun 04 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
jQuery位置选择器用法实例分析
Jun 28 jQuery
Vue实现数据请求拦截
Oct 23 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
PHP 程序员应该使用的10个组件
2009/10/31 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
js constructor的实际作用分析
2011/11/15 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
搭建vue开发环境
2018/07/19 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
python解决字符串倒序输出的问题
2018/06/25 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
python如何建立全零数组
2020/07/19 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
公司财务工作总结的自我评价
2013/11/23 职场文书
承认错误的检讨书
2014/01/30 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
家庭教育的心得体会
2014/09/01 职场文书
企业安全生产检查制度
2015/08/06 职场文书
python b站视频下载的五种版本
2021/05/27 Python
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle