初识 Angular 体会

一句话描述:一个前端的类似MVC框架的JS库

刚接触2天,刚一看感觉和asp.net mvc能实现的功能有点重复.

虽然asp.net的表单验证,Razor语法使其在前端开发有较大提升,但要实现比较高级复杂效果还是要

客户端JS来实现,服务端更多是提供和保存数据的角色.

如果只是简单的CURD应用,用原始Mvc的功能会效率更高也够用.

很多前端js框架注重的是UI表现.而angular注重的是如何管理和表现数据.

angular本身不提供样式和控件,是一个管理数据,控制输出的JS库.

虽然很多控件库对于复杂控件都支持绑定json数据.但没有angular这么方便好用自由全面.

适用:CURD应用,富客户端,重客户端/轻服务端的应用(对数据处理较复杂)

不适合:高度灵活自由的,游戏类,过于简单的.

标签属性介绍(网上复制,经过一点加工):

ng-app 类似命名空间,区分不同控制器.

var app = angular.module(‘AppName‘, []);

ng-controller 声明一个新的控制器的名字.

app.controller(‘ControllName‘, function($scope) {
    $scope.Property=...
});

实例化控制器,第二个参数控制器构造函数.可以给控制器属性,方法赋值.

这些值就是Model. $scope就是每个控制器的Model.作用域:当前控制器及其子Dom.

AngularJS $http

AngularJS $http 是一个用于读取web服务器上数据的服务。

$http.get(url) 是用于读取服务器数据的函数

app.controller(‘customersCtrl‘,
 function($scope, $http) {    $http.get("http://xxx.php")    .success(function(response) {$scope.names = response.records;});});

ng-model 将当前Dom输入值或值绑定到指定Model(即保存数据的变量)

这种绑定是双向的(如果Model值改变了,这个Dom对象的值也会跟着变)

<div ng-app="myApp" ng-controller="myCtrl">
    名字: <input ng-model="name">
    <h1>你输入了: {{name}}</h1>
</div>

可以通过(valid:合法, dirty:值是否改变了, touched:是否触屏点击, error)来获取所绑定Dom对象的状态.

<form ng-app="" name="myForm" ng-init="myText = ‘[email protected]‘">    <input type="email" name="myAddress" ng-model="myText"required></p>    <h1>状态</h1>
	{{myForm.myAddress.$valid}}</form>绑定的Dom对象的状态相关的css样式

<style>

input.ng-invalid {
    background-color:
lightblue;
}

</style>


ng-init 指令初始化应用程序数据。

<div ng-app="" ng-init="firstName=‘John‘">

  <p>在输入框中尝试输入:</p>
  <p>姓名:<input type="text" ng-model="firstName"></p>
  <p>你输入的为: {{ firstName }}</p>

</div>

ng-repeat 指令会重复一个 HTML 元素:

<div ng-app="" ng-init="names=[‘Jani‘,‘Hege‘,‘Kai‘]">
  <p>使用 ng-repeat 来循环数组</p>
  <ul>
    <li ng-repeat="x in names">
      {{ x }}
    </li>
  </ul>
<div>

表格:

<table>
  <tr ng-repeat="x in names | orderBy : ‘Country‘">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>

其他常用指令

ng-disabled  bool  对应 Dom 的 disabled 属性。
ng-show  bool 显示和隐藏
ng-click function/Expression onclick事件执行代码
时间: 2024-10-25 12:10:40

初识 Angular 体会的相关文章

初识angular.js之爱恨情仇

angular.js Angular.JS 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好. 简单概括:MV*模型的js框架 angular.js之爱恨情仇 爱恋之际 MV*模式 职责清晰.层次分明,例如页面样式变化仅改变View代码,其它层次结构代码无需改动. 数据绑定 数据视图绑定(单.双向数据绑定),无需反锁的改变DOM的值或修

初识Angular

AngularJS有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入,等等. AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事. 通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足: 类库 - 类库是一些函数的集合,它能帮助你写WEB应用.起主导作用的是你的代码,由你来决定何时使

初识angular体验(五)

大家好,好久不见啦,不知道朋友们这段时间学习的怎样了?都有没有提高呢?本人这期间基本把angular基础教程都看了一遍,感觉受益匪浅. 今天给大家说的是一个小知识点--全局变量,所谓全局变量懂JS的人都会明白,但是在angular里如何使用呢?让我们继续往下看. 在angualr里设置全局变量有2个函数,是以定义服务的形式注入进去的,constant()和value(),下面我看来看代码: <div ng-controller="myCtrl1">             

带你初识Angular中MVC模型

简介 MVC是一种使用 MVC(Model View Controller 模型-视图-控制器)设计模式,该模型的理念也被许多框架所吸纳,比如,后端框架(Struts.Spring MVC等).前端框架(Angular.Backbone等).在学习angular的过程中,我在网上查找关于angular MVC介绍的文章很少,有些文章也没有很直白地为初学者指明angular MVC到底是啥样貌,因此,今天我们就来谈谈MVC模型在angular的形态. 为了介绍angular MVC模型,我建立一个

初识 angular js

创建第一个 angularjs 项目 <html ng-app>  : 表名这个是angularjs 项目 双大括号标记 {{ }} 的内容是问候语中绑定的表达式 Angular 模型变量 Angular 的循环 Angular 控制器 AngularJS 模块(Module) 定义了 AngularJS 应用. AngularJS 控制器(Controller) 用于控制 AngularJS 应用. ng-app指令定义了应用, ng-controller 定义了控制器. <!DOCT

初识angular体验(三)

哈喽,大家好,不知不觉又过了一个星期,感觉一周一周过得好快啊,上周的分享我们说到了angular的一个主要的特性--双向数据绑定,这周呢,我会把其他特性以代码的形式给大家介绍!! 特性二:模板 在AngularJS中,一个模板就是一个HTML文件.但是HTML的内容扩展了,包含了很多帮助你映射model到view的内容. HTML模板将会被浏览器解析到DOM中.DOM然后成为AngularJS编译器的输入.AngularJS将会遍历DOM模板来生成一些指导,即,directive(指令).所有的

初识angular体验(四)

亲们,大家好,又到了我们angular每周分享的时间啦,从这周开始呢我准备把angular的基础知识给大家讲解下,欢迎大家随时留言,一起讨论问题! 首先给大家介绍下双向数据绑定,angular的数据绑定是数据模型(model)与视图(view)组件的自动同步.angular的实现方式允许你把应用中的模型看成单一数据源.而视图始终是数据模型的一种展现形式.当模型改变时,视图就能反映这种改变,反之亦然. 下面我们先来看一段代码: <div ng-app="hd" ng-control

简话Angular 01 初识Angular 数据绑定

1. Angular有哪些突出优点 1) MVC 基于Html-Javascript 2) 依赖注入 3) 数据双向绑定,响应式页面设计 4) 模块化,自定义指令 2. 简话数据绑定 1) 代码: 1 <input type="text" ng-model="hello1"> 2 3 <input type="text" ng-model="hello2"> 4 5 <textarea ng-bi

初识angular体验(二)

不知不觉过了一周了,这期间本人也学习了几章angular的实例教程,上次的分享我说到了angular的好处以及我们为什么要用angular.今天我们来说下究竟什么时候用angular是最好的以及举一些简单的小例子. angular是一个MVC框架,最适于开发客户端的单页面应用.它不是个功能库,而是用来开发动态网页的框架.它专注于扩展HTML的功能,提供动态数据绑定,而且它能跟其它框架(如jQuery)合作融洽. 如果你要开发的是单页应用,angular就是你的上上之选.Gmail.Google