AngularJS是为了克服html在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。

AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:
使用双大括号{{}}语法进行数据绑定;
支持表单和表单的验证;
能将逻辑代码关联到相关的DOM元素上;
能将HTML分组成可重用的组件。
 
AngularJS的出现就是为了解决页面上频繁的DOM操作。可以构建完整的CRUD(增加Create、查询Retrieve、更新Update、删除Delete)的应用。
构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入。
 
AngularJS的架构思想:MVVM(model,view,viewmodel)
AngularJS中的数据绑定分为单向绑定和双向绑定,其中ng-model是双向绑定,这种绑定的方式会互相影响,模型的改变影响视图,视图的改变影响模型。
$scope方式实现的绑定是单向绑定。模型影响视图。
 
AngularJS的引入:
<script src="js/angular.min.js"></script>
 
简单常用的语法:
    ng-app="mainApp"  绑定在最外层根元素上(主模块),比如<html ng-app="...">
  ng-controller:确定作用域
    ng-model="name"  把名字叫name的属性绑定到viewmodel中
  ng-repeat:循环
    {{name}}  把view中的数据显示在视图上
    
    ng-model是双向绑定
    $scope是单向绑定

循环:
    ng-repeat

 
AngularJS在script中的应用:
    <script>
    加载主模块:
     var indexApp=angular.module("indexApp",[]);
    创建作用域:
      indexApp.controller("Index",function($scope,$http) { 
    定义变量:
        $scope.age=20
      }
    </script>
 
html中:
    确定作用域:
    <body ng-controller="Index">
    作用域内:
    <p>{{age}}</p>
    
    循环:
     <tr ng-repeat="stu in stuAll">
                <td>{{stu.s_id}}</td>
                <td>{{stu.s_name}}</td>
                <td>{{stu.s_age}}</td>
    </tr>
 
方法的定义和调用:
    $scope.init=function(){};
ng-blur="init()"//直接调用:$scope.init()
 
angularjs中提交数据的方式有两种,get,post
get请求:
    $http.get("/users/init?username=abc").success(function(){  })
 post请求:
    $http.post("/users/postdata",{username:abc}).success(function(){ })
 
内置的过滤器:
{{5000|currency}}  //将前面的数字过滤成钱的形式,默认为$,结果为:$5,000.00
{{5000|currency:"¥"}} //结果为:¥5,000.00
 
{{date|date:"yyyy-MM-dd HH:mm:SS"}}//过滤成日期并指定日期格式
 
{{abcArray|filter:6}}//查询数组中有6的项
 
{{name|orderBy: “...”}}//按照"..."排序
 
 
内置方法:
ng-class="{red:true}"//为元素绑定类名
ng-style://设置样式(如:ng-style=“{background:'blue'}”)
ng-show="true/false"  ng-show="num>1"//设置元素是否显示,可以跟条件
ng-checked="true/false"//设置单选钮,复选框是否是选中状态
ng-selected="true/false"//设置下拉列表是否是选中状态
ng-click//点击事件
<img ng-src="{{url}}">//ng-src的作用是当网络原因导致图片还没有被加载出来时,不会出现带×的图片
 
 
angularjs中的模块化:
angularjs要实现单页面应用,需要用到模块化
模块化需要引进的js文件有:
<script src="js/angularjs_module/angular.min.js"></script>//主文件
<script src="js/angularjs_module/angular-route.min.js"></script>//配置路由的文件
<script src="js/module/reg/reg.js"></script>//模块的JS
 
模块化中,将路由配置在main.js中
main.js中的配置:
var mainApp=angular.module("mainApp",["ngRoute","regModule","loginModule","studentModule"]);//加载主模块及其他模块
mainApp.config(["$routeProvider",function($routeProvider){
  $routeProvider.when("/reg",{templateUrl:"js/module/reg/reg.html",controller:"regController"})//配置路径及控制范围
  $routeProvider.otherwise({
    redirectTo:"/reg"
})//设置主页面中默认显示的模块
}//每个模块的路径配置

主页面中可替换的区域用:ng-view

$location.path("/login")//设置跳转到的模块
 
 

angularjs的简单应用(一)的更多相关文章

  1. AngularJs最简单解决跨域问题案例

    AngularJs最简单解决跨域问题案例 2016-05-20 09:18 82人阅读 评论(0) 收藏 举报  分类: javascript(1)  作者:白狼 出处:http://www.mank ...

  2. [angularjs] MVC + Web API + AngularJs 搭建简单的 CURD 框架

    MVC + Web API + AngularJs 搭建简单的 CURD 框架 GitHub 地址:https://github.com/liqingwen2015/Wen.MvcSinglePage ...

  3. 对AngularJs的简单了解

    一.简单介绍 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得 ...

  4. AngularJS的简单使用

    官网下载:AngularJS 路由视图需要:Angular-Route.js 基于zepto的轻量级的 JavaScript UI 库: App.js  用于开发跨平台的移动Web应用 <!DO ...

  5. 使用AngularJS实现简单:全选和取消全选功能

    这里用到AngularJS四大特性之二----双向数据绑定 注意:没写一行DOM代码!这就是ng的优点,bootstrap.css为了布局,JS代码也只是简单创建ng模块和ng控制器 效果: < ...

  6. AngularJS作出简单聊天机器人

    简单聊天机器人 很初级的对话框形式.以前做对话框使用js,今天尝试使用AngularJS做出来 这里直接使用自己写的JSON数据. <!DOCTYPE html> <html lan ...

  7. AngularJS 实现简单购物车

    使用AngularJS实现一个简单的购物车,主要感受强大的双向绑定和只关注对象不关注界面特性. 先看看界面: 点击+-操作和删除: 这些全部只需要操作数据源就行,不需要关注界面. 实现过程: 一.使用 ...

  8. Angularjs实现简单分页

    一个后台中总需要一款分页,那我为了自己方便使用,实现如下效果 我把这个组件命名为tm.pagination,原因是因为起名真的太难起了.而且我网名也叫天名, TM就这样了吧.github地址https ...

  9. AngularJS实现简单的分页功能

    本篇文章由:http://xinpure.com/angularjs-simple-paging-functionality/ 初学 AngularJS, 尝试着写一些小功能 代码逻辑写得略粗糙,仅仅 ...

随机推荐

  1. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

    [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.it ...

  2. 禁止手机页面中A标签长按弹出路径框

    //禁止手机页面中A标签长按弹出路径框    window.onload=function(){        document.documentElement.style.webkitTouchCa ...

  3. Centos 与本地终端 上传、下载 文件

    首先安装lrzsz # yum -y install lrzsz 1.上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可. # rz 运行rz命令后弹出选择文件窗口,找到要上传的文件 ...

  4. mybatis if test 不为空字符串或null

    <if test="type !=null and type !=''"> AND l.type=#{type,jdbcType=INTEGER} </if> ...

  5. gulp教程之gulp-rev-append

    简介: 使用gulp-rev-append给页面的引用添加版本号,清除页面引用缓存. 1.安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件 ...

  6. linq 日期分组统计

     #region        string Condition(DateTime date, string type)        {            if (date == null)   ...

  7. interface

    接口的简单案例: 接口 就是一种规范 其目的主要是为了约束和解耦 public class Test { public static void main(String[] args){ Compute ...

  8. PHP多条件搜索ShopNc实例

    控制器部分代码: if (trim($_GET['keyword']) != '') { //echo $_GET['search_type']; exit(); switch ($_GET['sea ...

  9. 聚光灯下的熊猫TV技术架构演进

    2015年开始的百播大战,熊猫TV是其中比较特别的一员. 说熊猫TV是含着金钥匙出生的公子哥不为过.还未上线,就频频曝光,科技号,微博稿,站上风口浪尖.内测期间更是有不少淘宝店高价倒卖邀请码,光内测时 ...

  10. Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏 ...