AngularJS简介

AngularJS简介AngularJS简介AngularJS是一个JavaScript矿建,他是一个JavaSscript编写的库。可以通过<script>标签添加到HTML页面。AngularJS是通过指令扩展了HTML,且通过表达式绑定数据到HTML。地址:<scriptsrc="http://apps.bdimg.com/libs/angular.js/1.4.6/angul…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

AngularJS简介

AngularJS是一个JavaScript矿建,他是一个JavaSscript编写的库。可以通过<script>标签添加到HTML页面。

AngularJS是通过指令扩展了HTML,且通过表达式绑定数据到HTML。

地址:<script src=”http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js”></script>

各个 angular.js 版本下载: https://github.com/angular/angular.js/releases

 

AngularJS通过ng-directives扩展了HTML。

ng-app指令定义一个AngularJS应用程序。

ng-model指令把元素之(比如输入域的值)绑定到应用程序。

ng-model 指令也可以:

  为应用程序数据提供类型验证(number、email、required)。

  为应用程序数据提供状态(invalid、dirty、touched、error)。

  为 HTML 元素提供 CSS 类。

  绑定 HTML 元素到 HTML 表单

ng-bind 指令把应用程序数据绑定到 HTML 视图。

ng-init 指令初始化 AngularJS 应用程序变量。

ng-repeat 指令对于集合中(数组中)的每个项会 克隆一次 HTML 元素。

HTML5允许扩展的(自制的)属性,以data-开头。

AngularJS属性以ng-开头,但是您可以使用data-ng-来让网页对HTML5有效。

 

什么是AngularJS?

AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。

AngularJS 把应用程序数据绑定到 HTML 元素。

AngularJS 可以克隆和重复 HTML 元素。

AngularJS 可以隐藏和显示 HTML 元素。

AngularJS 可以在 HTML 元素”背后”添加代码。

AngularJS 支持输入验证。

 

AngularJS 表达式

AngularJS 表达式写在双大括号内:{
{ expression }}。

AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙。

AngularJS 将在表达式书写的位置”输出”数据。

AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。

实例 {
{ 5 + 5 }} 或 {
{ firstName + ” ” + lastName }}

 

AngularJS 应用

AngularJS 模块(Module) 定义了 AngularJS 应用。

AngularJS 控制器(Controller) 用于控制 AngularJS 应用。

ng-app指令定义了应用, ng-controller 定义了控制器。

 

AngularJS 表达式 与 JavaScript 表达式

类似于 JavaScript 表达式,AngularJS 表达式可以包含字母,操作符,变量。

与 JavaScript 表达式不同,AngularJS 表达式可以写在 HTML 中。

与 JavaScript 表达式不同,AngularJS 表达式不支持条件判断,循环及异常。

与 JavaScript 表达式不同,AngularJS 表达式支持过滤器。

 

创建自定义的指令

你可以使用 .directive 函数来添加自定义的指令。

要调用自定义指令,HTML 元素上需要添加自定义指令名。

使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 – 分割, runoob-directive:

<body ng-app=”myApp”>

<runoob-directive></runoob-directive>

<script>

var app = angular.module(“myApp”, []);

app.directive(“runoobDirective”, function() {

    return {

        template : “<h1>自定义指令!</h1>”

    };

});

</script>

</body>

可以通过以下方式来调用指令:元素名、属性、类名、注释

restrict 属性设置指令只能通过某些方式来调用

var app = angular.module(“myApp”, []);

app.directive(“runoobDirective”, function() {

    return {

        restrict : “A”,

        template : “<h1>自定义指令!</h1>”

    };

});

restrict 值可以是:E 作为元素名使用、A 作为属性使用、C 作为类名使用、M 作为注释使用

restrict 默认值为 EA, 即可以通过元素名和属性名来调用指令。

 

CSS 类

ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类:ng-empty、ng-not-empty、ng-touched、ng-untouched、ng-valid、

ng-invalid、ng-dirty、ng-pending、ng-pristine

 

AngularJS Scope(作用域)

Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。

Scope 是一个对象,有可用的方法和属性。

Scope 可应用在视图和控制器上。

 

AngularJS 应用组成如下:

 View(视图), 即 HTML。

 Model(模型), 当前视图中可用的数据。

 Controller(控制器), 即 JavaScript 函数,可以添加或修改属性。

所有的应用都有一个 $rootScope(根作用域),它可以作用在 ng-app 指令包含的所有 HTML 元素中。

$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。

 

AngularJS  过滤器

过滤器可以使用一个管道字符(|)添加到表达式和指令中。

AngularJS 过滤器可用于转换数据:

currency 格式化数字为货币格式。

filter 从数组项中选择一个子集。

lowercase 格式化字符串为小写。

orderBy 根据某个表达式排列数组。

uppercase 格式化字符串为大写。

 

向指令添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中。

orderBy 过滤器根据表达式排列数组:

<div ng-app=”myApp” ng-controller=”namesCtrl”>

<ul>

  <li ng-repeat=”x in names | orderBy:’country'”>

    {
{ x.name + ‘, ‘ + x.country }}

  </li>

</ul>

<div>

 

过滤输入

输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。

filter 过滤器从数组中选择一个子集:

<div ng-app=”myApp” ng-controller=”namesCtrl”>

<p><input type=”text” ng-model=”test”></p>

<ul>

  <li ng-repeat=”x in names | filter:test | orderBy:’country'”>

    {
{ (x.name | uppercase) + ‘, ‘ + x.country }}

  </li>

</ul>

</div>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164212.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • tcp网络模型_TCP/IP协议模型

    tcp网络模型_TCP/IP协议模型以太网:CSMA/CD,总线型IEEE802.3标准以太是一种虚构的物质,是英文Ether或Aether的音译以太网的技术特征包括传输介质、传输协议和传输拓扑结构。以太网的传输协议标准是CSMA/CD(CarrierSenseMutipleAccessCollisiondetect),也就是“载波监听多路访问/冲突检测”(1)若媒体空闲,则传输,否则转(2)。(2)若媒体忙,一直监听直到信道空闲,然后立即传输。(3)若在传输中监听到干扰,则发干扰信号通知所有站点,然后等

    2022年9月17日
  • 西门子s7300编程实例_西门子300编程入门

    西门子s7300编程实例_西门子300编程入门一、十字路口的交通指挥信号灯布置如下图:1、控制要求(1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系统开始工作,当启动开关关断时,所有信号灯都熄灭。(2)南北绿灯和东西绿灯不能同时亮。如果同时亮应关闭信号灯系统,并立刻报警。(3)南北红灯亮维持25s。在南北红灯亮的同时东西绿灯也亮,并维持20s。到20s时,东西绿灯闪亮,闪亮3s后熄灭,此时,东西黄灯亮,并维持…

    2022年9月11日
  • 【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」

    【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」目录前言一、安装VMware虚拟机二、XP系统镜像下载三、创建WindowsXP虚拟机写在最后前言最近,肯德基的“田园脆鸡堡”回归了,摩尔庄园也正式“开园”了,爷青回!!!终于!终于!小时候左手田园脆鸡堡,右手摩尔庄园的幸福时刻终于要重现了。事先说明,这不是广告植入,也不是今天分享的重点。下面就由我向大家隆重介绍【爷青回系列】使用VMware虚拟机安装WindowsXP系统!操作环境:Windows10一、安装VMware虚拟机【官方下载地址】【免注册下载地址】由于官方下

    2022年8月16日
  • WPF Window 窗口获得焦点和失去焦点事件

    WPF Window 窗口获得焦点和失去焦点事件Window窗口获得焦点和失去焦点事件(窗口变为背景窗口、窗口切换等都引起窗口焦点失去)Activated获得焦点事件和Deactivated失去焦点的事件:Activated:获得焦点(首次打开软件时;由别的软件切换回当前软件时;点击当前软件在任务栏的按钮时)Deactivated:失去焦点,与Activated正好相反,(Deactivated=de+activated)使用方法有两种:第一种是在XAML中声明,然后在后台书写执行代码:<W…

    2022年6月23日
  • tcping命令详解

    tcping命令详解tcping命令用法以及帮助文档的各项参数的解释。

    2022年6月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号