Angular随笔第一课

一、调用angular

  1. 加载angular.js库(可以从google的cdn中加载类库,https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js,也可以下载到本地,楼主我就是下载到本地来引入代码的)
  2. 使用ng-app指令告诉angular应该管理dom中的哪一部分。

二、使用ng-app申明angular的边界

你可以使用ng-app指令告诉angular应该管理页面的哪一块,如果你正在构建一款纯angular应用,那么你应该把ng-app指令写在<html>标签中。

Eg:<html ng-app></html>

或者可以让angular只管理页面中的一部分

Eg:<html><div ng-app></div></html>

现在写一个简单的列子

<!DOCTYPE html>
<html ng-app = ‘myApp‘>
<head>
     <title></title>
     <meta name="name" content="content" charset="utf-8">
     <script src="angular-1.4.2/angular.js" type="text/javascript"></script>
     <script type="text/javascript">
     angular.module(‘myApp‘,[]).controller(‘textController‘,function($scope){
          $scope.someText = ‘you have started your journey‘;
     })
     </script>
</head>
<body ng-controller="textController">
<p>{{someText}}</p>
</body>
</html>

在页面中会显示 you have started your journey。

三、显示文本

在angular中,数据绑定有2种实现方法,一种是前面写的{{}}花括号的形式,另外一中就是使用ng-bind属性的指令形式。<p ng-bind=”someText”></p>

在书写中,我们会推荐使用第二种数据绑定的方法,原因如下:

  1. 在使用花括号的时候,第一个加载的页面,也就是应用中的index.html,其未被渲染的模板可能被用户看到。而使用第二种方法的视图就不会遇到这个问题了。(原因是:浏览器需要首先加载html页面,渲染他,然后angular才有机会把他解释成你期望看到的页面)

四、表单输入

我们可以使用ng-model属性把元素绑定到你的模型属性上

<form ng-controller="some">
     <input type="checkbox" ng-model="youcheck">
</form>
  1. 当用户选中了复选框之后,some中的$socpe.youcheck=true,而反选复选框会让$socpe.youcheck=false;
  2. 如果你在some中把$socpe.youcheck的值设置为true,那么UI中的复选框就会变成选中的状态,反之就不会选中。

举一个列子

<form ng-controller="startUp">
     Strat: <input type="text" ng-change="number()" ng-model="startnum">
     add : {{needed}}
</form>
 <script type="text/javascript">
     angular.module(‘myApp‘,[]).controller(‘startUp‘,function($scope){
         $scope.startnum = 0;
         $scope.number = function(){
               $scope.needed = $scope.startnum * 10;
         }
     })
     </script>

当我们在文本框输入值的时候,我们会看到add的值是随时改变的。但是这样的话,就会出现一个问题,即如果还有其他输入框也绑定到模型中的这个属性上,会怎样呢?

我们可以引入$scope中的$watch()的函数----可以调用$watch()函数来监视一个表达式,当这个表达式发生改变时就会调用一个回调函数。

下面我们用这一技术重写

<script type="text/javascript">
     angular.module(‘myApp‘,[]).controller(‘startUp‘,function($scope){
         $scope.startnum = 0;
        number = function(){
               $scope.needed = $scope.startnum * 10;
         }
        $scope.$watch(‘startnum‘,number);
     })
     </script>

在某些情况下,你不想一有变化就立刻做出反应,直到用户告诉你他已经准备好了,列如发出一条确认信息之后(如下所示,是在form表单上面使用的列子,当表单提交的时候可以执行这个函数)

<form ng-controller="form" ng-submit="request()">
     start:<input ng-change="computer()" ng-model="startform">
     add: {{addform}}
     <button>click me</button>
</form>

<script type="text/javascript">
    angular.module(‘myApp‘,[]).controller(‘form‘, function ($scope) {
         $scope.computer = function () {
              $scope.addform = $scope.startform * 10;
         }
         $scope.request = function () {
              window.alert(‘sorry‘);
         }
    })
     </script>

同时,在提交表单的时候,ng-submit还会自动阻止浏览器执行默认的post操作

onclick ----ng-click      ondbclick-----ng-dbclick

时间: 2024-07-30 13:37:15

Angular随笔第一课的相关文章

Angular随笔第二课

一.  列表表格以及其它迭代型元素 ng-repeat 可能是最有用的angular指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝.不管在什么地方,只要你想创建一组事物的列表,你就可以使用这条指令. 比方说:我们正在为老师们编写一套学生花名册系统,我们当然需要从服务器上获取学生信息,但是对于当前这个列子来说,我们还是把模型直接定义在javascript代码里面: var students =[ {name: 'Mary Contrary',id:'1'}, {name: 'Jack C

Spark 3000门徒第一课随笔

昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识: Array本身创建后不可修改ArrayBuffer可修改import scala.collection.mutable.ArrayBufferval arrB = ArrayBuffer[int]()arrB += 10arrB += (11,12,13,5)arrB ++= Array(1,2,3,5)arrB.trimEnd(3) 从尾部截断3个arrB.trimS

sql第一课笔记

这是我看了imooc的视频教程之后重新写的笔记. 虽然之前也是学习过SQL Server数据库,但是也是忘记得差不多了.现在重新捡起来,安装一次数据库练习,使用的是mysql. 第一课是最简单的创建,修改,查看,删除数据库: mysql 有密码之后在命令行登陆 用的是 shell>mysql -u root -p; 提示输入密码: 登陆成功之后,把提示符mysql变成以当前计算机帐户名@主机名 当前数据库的格式:prompt \[email protected]\h \d> prompt命令下

OpenCV 第一课(安装与配置)

OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然后解压安装,我写的路径是D:\Program Files.注意本文中绿色标注的要换成你自己的安装路径. 这里得说一点,可能是因为网速太差的原因,昨天晚上下载了几次安装时都提示说"cannott open file'opencv-2.4.13.exe' as archive".我当时一直不明

读书笔记 - 《格鲁夫给经理人的第一课》

这本书对我的启发远远超过其它的企业管理类图书,不愧是资深前辈写的书.虽然名为第一课,实际上对于中层经理人来说,已经不再需要第二课了.这本书从简单的早餐店开始,讲解了管理杠杆率.开会.决策.规划.矩阵组织.激励.绩效.招人.薪酬.培训,以浅显的语言讲解了几乎是一个中层经理人所需理解的全部工作,使我对工作的认识有了大幅度提高,已经基本可以摆脱漫无头绪的状态!这本书准备丢在公司,没事就翻看思考一下,在实践中继续深入领悟!

VC++编程之第一课笔记

第一课 Windows程序内部运行原理 API 操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用.这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API. 如Create Window就是一个API函数,应用程序调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口. MSG(消息结构体) 结构体定义如下: typedef s

EasyUI入门第一课

首先下载easyUI,最好是最新的,然后新建一个空web程序或是网站,不废话,代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="JqueryEasyUI.WebForm1" %> <!DOCTYPE html> <html xmlns="http://ww

第一课 C语言简明教程

1序言: 1与Java.C#等高级语言相比,C语言却非常简单,学习简单,使用也简单,但是也非常重要,到目前为止基本上操作系统的内核代码超过百分之九十使用C语言完成,因此学好C语言是学好计算机这门课程的基础,特别是进入系统编程尤为明显. 今天是本人复习C语言课程的第一课,主要重新记录一下C语言的基础知识,这节课涉及到C语言的结构.变量以及类型.输入输出.条件判断以及循环知识. 2知识点: 2.1 C语言的结构 2.1.1 通常情况下C语言程序是由: 1.相关的代码注释,使用/* ··· */可注释

微积分重点 第一课至第四课

1.微积分是关于两个函数间关系的学问 例如, 距离与速度的关系  f(t)  --- df/dt 高度与斜率的关系  y(x)  ---- dy/dx 函数1--->函数2:   求斜率 函数2--->函数1:   求面积,乘以自变量 两条曲线不同,但是包含了相同的信息 函数2表示了函数1在某一瞬间的变化率 2.导数的总览和计算 三个重要的基本函数:幂函数 三角函数 指数函数 求导过程: Δy/Δx 无限逼近取极限 就得到了 dy/dx sinx 在零点处斜率逼近1, 在pi/2处斜率为零,