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后执行,用于设置指令的行为和处理事件。函数的第一个参数是指令名称,第二个参数是一个函数,在该函数中定义指令的行为。指令可以拥有自己的控制器,用于管理指令内部的业务逻辑。函数是指令的链接函数,可以在其中编写指令的逻辑。 阅读详情

相关推荐

工厂自动化布线实战:从功率计算到线槽布局的完整避坑指南

本文详细介绍了工厂自动化布线的实战经验,从功率计算到线槽布局的完整避坑指南。通过三步计算法确定线径需求,强调电压降控制的重要性,并分享线槽布局的50%法则和强弱电分离技巧。特别针对移动设备和多芯信号线提供专业解决方案,帮助工程师避免常见错误,提升布线效率和质量。

weixin_29266007的博客 355

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

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

网络技术联盟站 446

PX4固件下VTOL固定翼的3种起飞方式对比:手抛vs弹射vs跑道

本文深度解析PX4固件下VTOL固定翼的三种起飞方式:手抛、弹射与跑道起飞,对比其技术差异与适用场景。通过详细的参数配置和工程实践指南,帮助开发者优化起飞性能,提升无人机在不同环境下的适应性和可靠性。文章特别针对PX4飞控系统的最新特性进行了技术探讨。

weixin_30296405的博客 87

AngularJs 指令

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

weixin_43294560的博客 336

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1386

Centos7网络配置(设置固定ip)

刚安装完系统,有的人尤其没有勾选自动网络配置的情况下,是访问不了外网的,本机也连不通虚拟机。或者现在有的是动态ip,几次之后启动ip地址就变了,会导致其他软件或程序之前连接配置要重新更改,很麻烦,下面讲解一下如何配置网络,如何设置成固定ip。

个人笔记git:https://gitee.com/tlangp/note.git 8055

angularjs指令详解

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

闲游书海 507

复合材料热压罐固化残余应力仿真与优化

复合材料在热压罐固化过程中产生的残余应力是影响构件性能的关键因素,尤其在航空航天和风电叶片等高端制造领域。通过多物理场耦合仿真技术,可以精确预测残余应力分布,优化工艺参数。顺序耦合方法分步求解热分析和结构分析,既保证了计算精度,又控制了成本。Abaqus等有限元工具在此过程中发挥重要作用,通过合理设置边界条件、材料属性和接触关系,能够有效模拟温度场和应力场的相互作用。工程实践中,这种仿真方法已成功应用于无人机机翼、卫星支架等实际项目,显著降低了固化变形和微裂纹风险。

weixin_33146151的博客 217

AngularJs编写指令

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

Wang1996332的博客 243

Camera ITS测试

一、手机端设置: 将 CtsVerifier.apk 安装到设备上, 连接上linux主机。 二、主机端设置: 基础:CTS测试运行环境 然后,主机安装python2.7,及numpy/scipy/matplotlib/opencv 栈和 python 成像库。按照下面的命令依次安装: sudo apt­-get install python-­numpy sudo apt-­g...

wangubuntu的专栏 7787

网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)

目录 ICMP隧道 使用ICMP搭建隧道(PingTunnel) 使用ICMP搭建隧道(Icmptunnel) ICMP隧道 ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相...

谢公子的博客 6697

AngularJS 指令

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

书香水墨 313

从“能跑”到“好用”:一名 Python 开发者的工程化进阶之路【Python心得篇】

Python 早已不只是写脚本、跑数据的工具。后端服务AI Agent 编排层自动化平台核心语言数据与业务之间的“中枢层”区别只在于:你是用脚本方式,还是工程方式在写。如果你已经能写“能跑的 Python”,下一步,就是让它长期可跑、稳定可演进。Python 的真正价值不在于“写得快”,而在于能否支撑持续演进的工程实践。当代码从一次性脚本走向长期运行的系统,开发者必须从结构设计、职责拆分、性能意识和类型约束等方面进行系统性思考。

博客 1548

angularJs 指令的封装

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

dianchou8532的博客 283

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

掌握AngularJS指令

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

代码教主 368

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【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

返璞归真 2677

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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、付费专栏及课程。

余额充值