AngularJS简介

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
上一篇 2022年7月25日 上午10:16
下一篇 2022年7月25日 上午10:16


相关推荐

  • js合并数组与合并对象的区别_js将对象转为数组

    js合并数组与合并对象的区别_js将对象转为数组一、数组合并1、for循环会改变原数组,如果不想改变原数组需要生成一个新数组leta=[1,2,3];letb=[4,5];//1for循环for(variinb){a.push(b[i]);}console.log(a);//[1,2,3,4,5]2、concat()concat()方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

    2025年7月23日
    3
  • linux 常用命令

    linux 常用命令

    2021年10月10日
    54
  • pycharm最新激活码汇总,亲测可用,定期更新_在线激活

    (pycharm最新激活码汇总,亲测可用,定期更新)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    92
  • Apache规则RewriteCond详解

    Apache规则RewriteCond详解
    Apache中RewriteCond语句对于我来说一直是个难点,多次试图去把它搞明白,都没有结构,这次我终于算大概知道它的意思了。 RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础的功能,为了方便理解,下面来看看几个例子。
      RewriteEngineon
      RewriteCond %{HTTP_USER_AGENT

    2022年6月12日
    34
  • 怎样用STM32CAN总线接口发送和接收数据

    怎样用STM32CAN总线接口发送和接收数据CAN协议基础知识I2C.SPI总线多用于短距离传输,协议简单,数据量少,主要用于IC之间的通讯,而CAN总线则不同,CAN(ControllerAreaNetwork)总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。与I2C、SPI有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_L…

    2022年6月21日
    23
  • vue那个生命周期函数操作dom_Vue生命周期函数面试题

    vue那个生命周期函数操作dom_Vue生命周期函数面试题1 什么是 vue 生命周期 Vue 实例从创建到销毁的过程 就是 Vue 的生命周期 也就是从开始创建 初始化数据 编译模板 挂载 Dom gt 渲染 更新 gt 渲染 卸载等一系列过程 我们称这是 Vue 的生命周期 2 vue 生命周期的作用是什么它的生命周期中有多个事件钩子 让我们在控制整个 vue 实例的过程时更容易行程好的逻辑 3 vue 的生命周期 开始创建 初始化数据 编译模板 挂载 Dom 渲

    2026年3月26日
    2

发表回复

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

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