AngularJS指令

AngularJS 指令 AngularJS 指令是构建动态网页的重要工具。通过掌握指令的概念、类型、用法以及注意事项,开发者可以轻松地创建丰富的用户界面。在实际开发过程中,请务必遵循最佳实践,以确保代码的可维护性和可扩展性。 阅读详情

经过AngularJS的入门之旅后,产生很大的兴趣,今天我们就来聊聊AngularJS的指令,也会有很多的惊喜来等着我们发现.......

AngularJS的指令有很多我们先聊聊几个重要的指令吧!!!

1.ng-app指令

用于启动AngularJS应用程序,根模块:通过ng-app的属性值来指定【指定的是名称】--指定了一个myApp的模块
<html ng-app="myApp">

注:一定要记得引入AngularJS框架哦!!!
<script src="js/lib/AngularJS/angular.min.js"></script>

2.ng-controller指令

通过ng-controller来将控制器和对应的标签绑定,定义好了控制器的作用范围【开始标签~结束标签之间】
<div ng-controller="myCtrl" ng-init="count=1">
   .....
</div>

3.ng-init指令

ng-init这个东西,主要用来在标签中初始化一些变量数据【不推荐】
<div ng-controller="myCtrl" ng-init="count=1"></div>

4.ng-module指令

将数据动态的双向绑定,即在表单里输入内容,在页面上显示的内容会随之输入框中内容的改变而改变
例如:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/lib/AngularJS/angular.min.js"></script>
</head>
<body>
    <div ng-controller="myCtrl">
        <input type="text" ng-model="hello">
        {{hello}}
    </div>
    <script>
        var app = angular.module("myApp",[]);
        app.controller("myCtrl", function($scope){
            $scope.hello = "hello angularjs! 今天开始学习js高级开发的部分"
        });
    </script>
</body>
</html>

通过ng-model指令降自定义的$scope.hello内容与input里的内容动态的绑定,当你改变input你的内容时,在页面渲染出的{{hello}}的内容也会随之改变。

ng-model 指令也可以:

  • 为应用程序数据提供类型验证(number、email、required)。
  • 为应用程序数据提供状态(invalid、dirty、touched、error)。
  • 为 HTML 元素提供 CSS 类。
  • 绑定 HTML 元素到 HTML 表单。

5.ng-click指令

ng-click指令允许您指定自定义行为当一个元素被点击。

<button ng-click="click()"></button>

给button绑定一个点击事件,等你点击吃按钮是才能触发事件。

6.ng-repeat指令

每个模板实例都得到它自己的作用域,其中给定的循环变量设置为当前集合项,并且将$索引设置为项索引或键。
通常与ul,li,table结合使用。
例如:
<!--html代码-->
<!doctype html>
<html ng-app="myApp">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link rel="stylesheet" href="js/bootstrap.min.css">
<script src="js/angular.min.js"></script>
</head>

<body>
<div class="container" ng-controller="myCtrl">
	<div class="row">
		<div class="col-md-8 col-md-offset-2">
			<div class="page-header">
				<h2>我的购物车</h2>
			</div>
		</div>
	</div>
	<div class="row">
		<div class="col-md-8 col-md-offset-2">
			<table class="table table-hover table-striped">
				<tr>
					<th>#</th>
					<th>商品名称</th>
					<th>商品单价</th>
					<th>购买数量</th>
					<th>小计金额</th>
					<th>操作</th>
				</tr>
				<tr ng-repeat="g in goodses">
					<td><span ng-bind="g.goodsID"></span></td>
					<td><span ng-bind="g.goodsName"></span></td>
					<td>¥<span ng-bind="g.goodsPrice"></span></td>
					<td><input type="text" ng-model="g.count"></td>
					<td>¥<span ng-bind="g.goodsPrice * g.count"></span></td>
					<td><a href="#">删除</a></td>
				</tr>
				<tr>
					<td>总计金额:<span ng-bind="total"></span></td>
				</tr>
			</table>
		</div>
	</div>
</div>
<!--js代码-->
<script>
	var app = angular.module("myApp", []);
	
	app.controller("myCtrl", function($scope) {
		$scope.goodses = [/*后端接口返回的json数据*/
			{goodsID:1, goodsName:"商品A", goodsPrice:12, count:1, subtotal:12},
			{goodsID:2, goodsName:"商品B", goodsPrice:32, count:1, subtotal:32},
			{goodsID:3, goodsName:"商品C", goodsPrice:56, count:1, subtotal:56}
		];
		
		
		
		$scope.$watch("goodses", function() {
			
			$scope.total = 0;/*总计金额*/
			for(var i = 0; i < $scope.goodses.length; i++) {
				$scope.total += $scope.goodses[i].goodsPrice * $scope.goodses[i].count;
			}
			
		}, true);
	});
	</script>
</body>
</html>

在页面中显示的效果为:

:

如你看到的图片的效果一样,我们通过ng-reap指令把购物车里的商品循环的输出渲染到页面中,这样大大的减少了我们html里的代码量。


7.ng-style指令


可以修改css样式

html代码:
<input type="button" value="set color" ng-click="myStyle={color:'red'}">
<input type="button" value="set background" ng-click="myStyle={'background-color':'blue'}">
<input type="button" value="clear" ng-click="myStyle={}">
<br/>
<span ng-style="myStyle">Sample Text</span>
<pre>myStyle={{myStyle}}</pre>


js代码:
var colorSpan = element(by.css('span'));

it('should check ng-style', function() {
  expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0, 0, 1)');
  element(by.css('input[value=\'set color\']')).click();
  expect(colorSpan.getCssValue('color')).toBe('rgba(255, 0, 0, 1)');
  element(by.css('input[value=clear]')).click();
  expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0, 0, 1)');
});

css代码:
span {
  color: black;
}

在页面中显示的效果:



可以设置多个css样式,通过点击按钮来改变样式,更加的方便。

如果你对AngularJS指令还有兴趣,还想了解更多的指令,请看AngularJS官方网站看更多的指令:
https://code.angularjs.org/1.6.4/docs/api/ng/directive/ngStyle




AngularJS指令的用法详解 AngularJS的指令是扩展HTML功能的重要工具,通过自定义指令可以实现更灵活和强大的交互性。本文介绍了指令的基本语法和创建方式,包括指令的作用域、控制器和链接函数的使用方法。AngularJS指令有多种用法,包括元素指令、属性指令、类指令和注释指令。指令的链接函数在指令编译和链接到DOM后执行,用于设置指令的行为和处理事件。函数的第一个参数是指令名称,第二个参数是一个函数,在该函数中定义指令的行为。指令可以拥有自己的控制器,用于管理指令内部的业务逻辑。函数是指令的链接函数,可以在其中编写指令的逻辑。 阅读详情

相关推荐

ROC-RK3588S-PC 刷机 安装Android系统

rk3588刷机,装系统

Wjz_www的博客 4834

AngularJS 指令的定义、语法、用法

AngularJS 指令是一种用于扩展 HTML 语义的标记或属性,它们可以在 HTML 文档中添加新的功能或修改现有的功能。指令可以被重复使用,并且可以与控制器和作用域(Scope)进行绑定,从而实现数据的双向绑定和页面元素的动态更新。AngularJS 提供了一些内置的指令,如ng-modelng-repeatng-show等,同时也支持开发者自定义指令。除了内置的指令之外,AngularJS 还支持开发者自定义指令。自定义指令可以根据应用程序的需求,实现各种复杂的功能和交互效果。

网络技术联盟站 446

从放弃到再入门之拉格朗日对偶问题推导

普通同学的解法 无约束条件:求导就可以了 等式约束:代入消元,再求导 不等式约束:分情况讨论(在边界上和不在边界上),分别对应1,2的情况 然而发现,有些情况消元特别复杂,甚至不能求解 聪明同学的解法 发现:在最优点的情况下,约束曲面的法向量和目标函数的梯度反向必相同或相反 拉格朗日乘子法如何理解? (在2维里可以形象的解释为z=f(x,y)在约束条件g(x,y)=c中,极值...

qq_34564612的博客 1万+

AngularJs 指令

AngularJs框架 指令(可以理解为属性) 1、边界指令ng-app (1)AngularJs框架在使用时,除了需要引入框架,还需要边界指令告知框架在哪个范围内生效 (2)习惯写在html标签中,在当前页面中生效 (3)<html ng-app> 2、呈现指令{{}} (1){{}}用来表示内容呈现功能 (2)在{{}}中书写NG语法规则下的变量、字符...

weixin_43294560的博客 336

第17篇:深入解析OpenEuler 24.03系统中的逻辑卷管理(LVM)

OpenEuler 24.03系统中的逻辑卷管理(LVM)提供了灵活的存储管理方案,通过在物理存储与文件系统间构建抽象层实现动态资源分配。

专注于系统运维、数据库、DevOps、虚拟化技术、docker、kubernetes、等云原生技术。 1689

从零搭建SPI通信系统:AXI Quad SPI IP核在Xilinx平台上的完整配置流程

本文详细介绍了在Xilinx平台上使用AXI Quad SPI IP核从零搭建SPI通信系统的完整配置流程。涵盖IP核架构解析、Vivado环境配置、寄存器编程实战及性能优化策略,帮助开发者快速实现高速稳定的SPI通信,特别适用于嵌入式系统开发中的外围设备连接需求。

hh234的博客 1052

angularjs指令详解

angularjs指令总体概括与基本使用

闲游书海 507

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

AngularJs编写指令

1 <!DOCTYPE html> 2 <html ng-app="app"> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 ...

Wang1996332的博客 243

(一)深入理解Bluez协议栈之蓝牙Mesh的支持(1/5)

BlueZ是Linux官方蓝牙协议栈。它是一个基于GNU General Public License (GPL)发布的开源项目,从Linux 2.4.6开始便成为Linux 内核的一部分。如果你是linux平台开发蓝牙的的工程师,肯定会接触过Bluez协议栈,hciconfig,hciattach,hciconfig等工具都是很好用的工具。

3321

小红书urlscheme和Activity

本文档详细介绍了小红书App的Deeplink跳转规范,涵盖了多个功能模块的跳转协议。主要内容包括:主页各Tab(关注、发现、购买)的跳转方式;不同类型笔记(图文/视频/长笔记)的详情页跳转参数;用户相关页面(主页/绑定/资料/消息等)的跳转协议;搜索功能(输入页/结果页)的跳转方式;以及话题、标签、专辑、H5页面等特殊场景的跳转实现。文档还提供了各跳转协议所需的参数说明,包括参数类型、默认值、是否必填等详细信息,并标注了不同版本和平台的兼容性要求。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 786

AngularJS 指令

1 AngularJS 指令 AngularJS 通过被称为指令的新属性来扩展 HTML。 AngularJS 通过内置的指令来为应用添加功能。 AngularJS 允许你自定义指令。 AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。 ng-app 指令初始化一个 AngularJS 应用程序。 ng-init 指令初始化应用程序数据。 ng-model 指令把元素值(比如输...

书香水墨 313

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

angularJs 指令的封装

首先 指令的应用场景:   1:使你的html更具语义化,不需要深入研究代码就可以知道页面的大概逻辑。   2:抽象出一个自定义组件,在其他的地方进行重用。  一:directive的定义及其使用方法:   下面是一个详细的指令包含的一些字段 var myModule = angular.module(...); myModule.directive('dire...

dianchou8532的博客 283

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

掌握AngularJS指令

指令是AngularJS最强大的组件之一,可帮助您扩展基本HTML元素/属性并创建可重用和可测试的代码。 在本教程中,我将向您展示如何将AngularJS指令与实际最佳实践结合使用。 我在这里指的是指令 在教程中主要是自定义指令。 我不会尝试教您如何使用内置指令(例如ng-repeat , ng-show等)。我将向您展示如何使用自定义指令来创建自己的组件。 大纲 简单指令 ...

代码教主 366

【AngularJS】6.AngularJS 事件指令/input相关指令/样式指令/DOM操作指令详解

1.AngularJS 事件指令 (1)ng-click 鼠标点击事件 Increment count: {{count}} (2)ng-dblclick 鼠标双击事件 Increment (on double click) count: {{count}}(3)ng-mousedown 鼠标点击事件 Increment (on mouse down) cou

返璞归真 2676

AngularJS自定义指令

AngularJS为我们提供了自定义指令的功能,通过此功能,我们可以自定义一些标签,为我们的开发提供帮助,其实一些大型公司都存在自定义标签,为快速开发提供了基础。定义自定义指令一般有两种方式1.第一种,在module()的第三个参数中定义代码如下:index01.html <!DOCTYPE html> <html ng-app="myApp"> <head> <meta c

Yana_li的博客 1842

angularJS指令

1 入门代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>入门demo</title> <script type="text/javascript" src="js/angular.min.js"&g...

陈福国的博客 242

angularjs指令

组件主要起到了 复用性 和 可维护性的优点,在angularjs中使用指令就能达到这种效果 如果多个页面都需要使用同一套代码时,可以将这套代码封装成指令,在不同的页面进行调用 指令代码 angular.module('app').directive('selectreSource',function (AppConfig) { return { restrict: 'EA', ...

qq_43765727的博客 230
上一篇: AngularJS控制器
下一篇: 原生JS Ajax操作
learning_ever
博客等级 码龄10年 40粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值