AngularJS指令

news2025/1/18 9:07:48

指令分类:

        1)装饰器型指令

装饰器指令的作用是为DOM添加行为,使其具有某种能力。在AngularS中,大多数内置指令属于装饰器型指令,例如ng-click(单击事件)、ng-hide/ng-show(控制DOM元素的显示和隐藏)等

        2)组件型指令

组件型指令是一个小型的整体,其中包含业务所需要显示的视图和交互逻辑,例如开发者要在页面添加某个功能

1、常用的内置指令

1.1 程序控制类

1.2 数据绑示类

<body ng-app="myApp" ng-controller="myCtrl">

    姓名:<input type="text" ng-model="name">
    <hr><!-- 差值表达式{{ }} -->
    <span>输入的姓名为:{{ name }}</span>
    <hr><!-- ng-bind指令 -->
    <span ng-bind="name">输入的姓名为:</span>

    <hr><!-- ng-model指令 -->
    姓名:<input type="text" ng-model="name+'666'">
    
</body>
</html>
<script>
    var app= angular.module('myApp',[]);
    app.controller('myCtrl',function($scope){
        // 定义属性name
        $scope.name = "lucy";
    });
</script>

1.3 访问流程类

1) ng-if

语法格式:

<element ng-if="expression"></element>

示例: 

<body ng-app="myApp" ng-controller="myCtrl">

    篮球:<input type="checkbox" ng-model="isCheck">
    <div ng-if="isCheck">
        喜欢<input type="radio" name="hobby">
        一般<input type="radio" name="hobby">
        讨厌<input type="radio" name="hobby">
    </div>

</body>
</html>
<script>
    var app= angular.module('myApp',[]);
    app.controller('myCtrl',function($scope){
        $scope.isCheck = false;
    });
</script>

2) ng-switch

语法格式:

<element ng-switch on="expression">
    <element ng-switch-when="expression1">...</element>
    <element ng-switch-when="expression1">...</element>
    ...
    <element ng-switch-default>...</element>
</element>

示例:实现每日食谱

<body ng-app="myApp" ng-controller="myCtrl">

    <div ng-switch on="day">
        周{{ day }}食谱
        <div ng-switch-when="1">食品1</div>
        <div ng-switch-when="2">食品2</div>
        <div ng-switch-when="3">食品3</div>
        <div ng-switch-when="4">食品4</div>
        <div ng-switch-when="5">食品5</div>
        <div ng-switch-when="6">食品6</div>
        <div ng-switch-default>食品7</div>
    </div>

</body>
</html>
<script>
    var app= angular.module('myApp',[]);
    app.controller('myCtrl',function($scope){
        let day = new Date().getDay();
        $scope.day = day;
    });
</script>

3) ng-repeat

语法格式:

<element ng-repeat="item in collection"></element>

注意:当数组中有重复元素时,需要使用 track by $index

示例:

<body ng-app="myApp" ng-controller="myCtrl">

    <ul>
        <li ng-repeat="item in datas">
           {{item }} 
        </li>
    </ul>
    
</body>
</html>
<script>
    var app= angular.module('myApp',[]);
    app.controller('myCtrl',function($scope){
        $scope.datas = [10,20,30,40];
    });
</script>

1.4 事件绑定类

AngularJS指令不会覆盖JavaScript的事件,例如鼠标单击HTML元素时,ng-click指令与JavaScript的 on-click 事件将都会执行。

1.5 状态设置类

1.6 加载处理类

2、自定义指令

2.1 基本语法

AngularJS中使用模块的 directive() 函数来自定义指令

var app = angular.module('app',[]);
app.directive('指令名称',function(){
    return{
        template,
        templateUrl,
        replace ,
        restrict,
        ...
    }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp 生成安卓证书没有md5指纹怎么办?

由于最新的jdk版本对应的keystore工具无法查看到md5指纹信息 但是不代表它没有md5指纹信息&#xff0c;只是看不到而已 解决方案&#xff1a; 登录uniapp开发者后台生成安卓云端证书

SSM【Spring SpringMVC Mybatis】—— Spring(二)

如果对于Spring的一些基础理论感兴趣可见&#x1f447; SSM【Spring SpringMVC Mybatis】—— Spring&#xff08;一&#xff09; 目录 1、Spring中bean的作用域 1.1 语法 1.2 四个作用域 2、Spring中bean的生命周期 2.1 bean的生命周期 2.2 bean的后置处理器 2.3 添加后…

【Vue】Vue指令与生命周期以及组件化编码

目录 常用内置指令v-text与v-htmlv-text : 更新元素的 textContentv-html : 更新元素的 innerHTML注意&#xff1a;v-html有安全性问题&#xff01;&#xff01;&#xff01;&#xff01; v-once与v-prev-oncev-pre ref与v-cloakrefv-cloak 自定义指令案例定义语法配置对象中常…

一键批量合并视频:掌握视频剪辑技巧解析,轻松创作完美影片

在数字时代的浪潮下&#xff0c;视频已成为人们记录和分享生活的重要工具。然而&#xff0c;对于许多非专业视频编辑者来说&#xff0c;将多个视频片段合并成一个完整的影片却是一项复杂且耗时的任务。幸运的是&#xff0c;云炫AI智剪一键批量合并视频功能的出现&#xff0c;让…

QT切换控件布局

1、切换前垂直布局 2、切换后水平布局 3、关键代码 qDebug() << "开始切换布局";QWidget *widget centralWidget();QLayout *layout widget->layout();if(layout){while(layout->count()){QLayoutItem *item layout->takeAt(0);if(item->layout…

自动化神器Autolt,让你不再重复工作!

随着互联网不断发展&#xff0c;它给我们带来便利的同时&#xff0c;也带来了枯燥、重复、机械的重复工作。今天&#xff0c;我要和大家分享一款老牌实用的自动化工具&#xff1a;AutoIt&#xff0c;它能够让你告别繁琐的重复性工作&#xff0c;提高工作效率。 这里透露一下&am…

C++中的complex

在 C 中&#xff0c;std::complex 是一个模板类&#xff0c;用于表示和操作复数。这个类是标准模板库&#xff08;STL&#xff09;的一部分&#xff0c;包含在 头文件中。std::complex 提供了一套丰富的功能&#xff0c;包括基本的算术运算、比较运算、数学函数等&#xff0c;使…

大语言模型LLM原理篇

大模型席卷全球&#xff0c;彷佛得模型者得天下。对于IT行业来说&#xff0c;以后可能没有各种软件了&#xff0c;只有各种各样的智体&#xff08;Agent&#xff09;调用各种各样的API。在这种大势下&#xff0c;笔者也阅读了很多大模型相关的资料&#xff0c;和很多新手一样&a…

苹果 iPhone 15 Pro Max 称霸:智能手机市场势不可挡

苹果 iPhone 15 Pro Max 称霸&#xff1a;智能手机市场势不可挡 概述 在拥挤且竞争激烈的智能手机市场中&#xff0c;苹果的 iPhone 15 Pro Max 成为明显的赢家&#xff0c;在 2024 年第一季度最畅销智能手机排行榜上名列前茅。根据 Counterpoint Research 的数据&#xff0c…

css: 动态设置网格线

参考这个博客做了网格线&#xff1a; http://t.csdnimg.cn/y20vM 把网格颜色&#xff0c;宽高和透明度做成可配置项。 <e-collapse title"网格线" :expand"false"><t-form-item label"颜色"><el-color-picker v-model"fo…

vue2+Ts中openLayer绘图工具组件封装

vue2Ts中openLayer绘图工具组件封装 效果&#xff1a; 封装组件代码&#xff1a; <!-- openLayer绘图工具 --> <template><a-button-group v-show"isShow"><a-button v-if"shouldShowButton(point)" click"draw(Point)"…

Axure10_win安装教程(安装、汉化、授权码,去弹窗)

1.下载Axure10 链接&#xff1a;https://pan.baidu.com/s/1fc8Bgyic8Ct__1IOv-afUg 提取码&#xff1a;9qew 2.安装Axure10 因为我的电脑是Windows操作系统&#xff0c;所以我下载的AxureRP-Setup-Beta v10.0.0.3816 (Win).exe 一直点下一步就行 3.Axure10中文 打开Axure…

(python)cryptography-安全的加密

前言 cryptography 是一个广泛使用的 Python 加密库&#xff0c;提供了各种加密、哈希和签名算法的实现。它支持多种加密算法&#xff0c;如 AES、RSA、ECC 等&#xff0c;以及哈希函数&#xff08;如 SHA-256、SHA-384 等&#xff09;和数字签名算法(如 DSA、ECDSA 等). 目录 …

Linux下Code_Aster源码编译安装及使用

目录 软件介绍 基本依赖 其它依赖 一、源码下载 二、解压缩 三、编译安装 四、算例运行 软件介绍 Code_aster为法国电力集团&#xff08;EDF&#xff09;自1989年起开始研发的通用结构和热力耦合有限元仿真软件。Code_aster可用于力学、热学和声学等物理现象的仿真分析&…

诺基亚3210复古风再起:情怀与现实的碰撞

在数字科技日新月异的今天&#xff0c;诺基亚的复古风潮却意外地掀起了波澜。这款曾经风靡一时的诺基亚3210&#xff0c;在时隔二十五年后&#xff0c;以全新的面貌再次回归市场&#xff0c;引发了无数人的怀旧与好奇。 诺基亚的这次“千禧回归”策略&#xff0c;无疑是对Y2K潮…

Java——类和对象第二节——封装

1.什么是封装 封装是面向对象程序的三大特性之一&#xff0c;面向对象程序的三大特性分别是封装&#xff0c;继承&#xff0c;多态 而封装简单来说就是套壳隐藏细节 打个比方&#xff1a; 在一些电脑厂商生产电脑时&#xff0c;仅对用户提供开关机键&#xff0c;键盘输入&a…

鸿蒙布局Column/Row/Stack

鸿蒙布局Column/Row/Stack 简介我们以Column为例进行讲解1. Column({space: 10}) 这里的space: 10&#xff0c;表示Column里面每个元素之间的间距为102. width(100%)&#xff0c;height(100%) 表示宽高占比3. backgroundColor(0xffeeeeee) 设置背景颜色4. padding({top: 50}) 设…

基于Springboot+Vue的Java项目-农产品直卖平台系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

【docker】SpringBoot应用容器镜像日志挂载

启动镜像时候使用 -v 挂载 首先得在宿主机创建目录&#xff1a;/workspace/java/demo/logs mkdir -pv /workspace/java/demo/logs 启动镜像 docker run -p 8080:8080 -itd -v /workspace/java/demo/logs/:/logs/ 192.168.2.1:5000/demo:0.0.1-SNAPSHOT -v /workspace/ja…

VMware虚拟机没有网,无法设置网络为桥接状态

今天需要使用Ubuntu18但现有虚拟机是Ubuntu20&#xff0c;由于硬盘空间不够大&#xff0c;所以删除了原来的虚拟机并重新搭建Ubuntu18的环境&#xff0c;然后发现虚拟机没有网络&#xff0c;而我之前的虚拟机这一切都是正常的。 在网络设置里勾选的是桥接模式但无法联网&#x…