AngularJs-07-指令

简介:
<!DOCTYPE html>
<html lang="zh" ng-app="myapp">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <script src="../bower_components/angular/angular.js" type="text/javascript" charset="utf-8"></script>
    <title>AngularJs-指令</title>
    
    <style type="text/css">
        .red{color:red};
        .green{color:green};
    </style>
</head>
<body>
    <h3>AngularJs-$watch-01</h3>
    <input type="text" ng-model="username" />
    {{username}}
    <p>改变的次数为 : {{count}}</p>

    <h3>AngularJs-$watch-02</h3>

    <div ng-repeat="item in items">
        <input type="text" ng-model="item.value" />{{item.value}}
    </div>
    <p>改变的次数为 : {{rcount}}</p>

    <h3>AngularJs-$watchCollection</h3>

    <a href="javascript:void(0);" ng-click="addvalue()">add</a>
    <a href="javascript:void(0);" ng-click="delvalue()">del</a>
    <a href="javascript:void(0);" ng-click="unwatch()">unwatch</a>
    
    <div ng-repeat="item in items">
        <input type="text" ng-model="item.value"/>{{item.value}}
    </div>
    
    
    <h3>AngularJs-ng-switch</h3>
    <!--不可见-->
    <div ng-controller="ifController">
        
        <div ng-switch on="age">
            <span ng-switch-when="10">青年1</span>
            <span ng-switch-when="20">青年2</span>
            <span ng-switch-when="30">青年3</span>
            <span ng-switch-when="40">青年4</span>
            <span ng-switch-default>青年5</span>
        </div>
    
        
        <h3>AngularJs-ng-if</h3>
        <div>
            <span ng-if="age>=60 && age<80">老年</span>
            <span ng-if="age>=40 && age<60">壮年</span>
            <span ng-if="age>=30 && age<40">青年</span>
            <span ng-if="age<10 && age<30">少年</span>
        </div>
    </div>
    
    <script type="text/javascript">
        var app = angular.module("myapp",[]);
        
        // run主要作用为代表angularjs装在完毕某一些内置对象的时候
        // 可能会执行以下回调函数,回调就初始化代码.
        
        /*app.run(function($rootScope){
            $rootScope.username = "bilaisheng";
        });*/
        
        app.run(["$rootScope", "$log", function($rootScope, $log){
            $rootScope.username="bilaisheng";
            $rootScope.count = 0;
            
            $rootScope.$watch("username",function(){
                $rootScope.count++;
            });
        }]);
        
        app.run(["$rootScope","$log",function($rootScope,$log){
            $rootScope.items = [
                {value:1},
                {value:2},
                {value:3},
                {value:4}
            ];
            
            $rootScope.rcount = 0;
            $rootScope.$watch("items", function(){
                $rootScope.rcount++;
            },true);// 为fasle: "引用监视". true: 全等监视
        
        
            // watchCollection
            $rootScope.wcount = 0;
            var unWatcher = $rootScope.$watchCollection("items",function(){
                $rootScope.wcount++;
            });
        
        }]);
        
        app.run(["$rootScope","$log",function($rootScope,$log){
                
            $rootScope.items = [
                {value:1},
                {value:2},
                {value:3},
                {value:4}
            ];
            
            //$watchCollection 方法用来针对数组或者集合进行监视,他的性能介于全等监视和引用监视之间
            //但是它并不会对数组中的每一项的属性进行监视,但是可以对数组的项目增减做出反应,
            
            $rootScope.count = 0;
            var unWatcher = $rootScope.$watchCollection("items",function(){
                $rootScope.count++;
            });
            
            //添加值
            $rootScope.addvalue = function(){
                $rootScope.items.push({value:5});
            };
            
            //删除值
            $rootScope.delvalue = function(){
                $rootScope.items.splice(0,1);
            };
            
            //删除监听
            $rootScope.unwatch = function(){
                unWatcher();//解除监听
            };
        }]);
        
        /**
        * 1: 选中的元素:
        *     checkbox radio
        *         ng-checked = true/false
        *     select
        *         ng-selected = true/false
        *     禁止选择:
        *        ng-disabled=true/false
        *    2:关于指令如果调用作用域属性和方法的时候是不需要表达式的
        *
        */
        app.controller("ifController",function($scope){
            $scope.age = 30;
        });
    </script>
    
</body>
</html>
目录
相关文章
|
前端开发 JavaScript 搜索推荐
深入探讨单页面应用程序(SPA)的优势与实践
深入探讨单页面应用程序(SPA)的优势与实践
|
安全 Linux Shell
Linux账户密码过期安全策略设置
在Linux系统管理中,有时候需要设置账号密码复杂度(长度)、密码过期策略等,这个主要是由/etc/login.defs参数文件中的一些参数控制的的。它主要用于用户账号限制,里面的参数主要有下面一些: /etc/login.
2151 0
|
1天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1090 0
|
10天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3636 3
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
22天前
|
人工智能 缓存 前端开发
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
DeepSeek Harness + DeepSeek V4 Pro 项目实战保姆级教程!手把手带你从零安装开源 AI 编程工具,开发架构图、知识讲解网站、3D 网页游戏、全栈 AI 应用 4 个项目,覆盖运行模式选择、插件安装与开发,看看能不能对标 Claude。
13371 93
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
|
15天前
|
Web App开发 人工智能 API
16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 N 个版本了。。。
DeepSeek Harness 精选插件推荐合集,从图片识别、浏览器操控、多 Agent 协作到手机远程控制,一口气带你看完 DSH 社区热门的十几个插件,覆盖技能扩展、UI 界面增强、整活玩法三大类,让你的鲸鱼变得更强。
1892 5
|
8天前
|
人工智能 监控 测试技术
Qwen3.8-Flash 来了,100万上下文、Agent、Coding 都加强了
8月26日,通义千问发布Qwen3.8-Flash-Next:125B参数、每Token仅激活6B,原生支持26万Token、可扩展至100万上下文;Coding、Agent与工具调用能力显著增强,面向真实软件工程任务,推动大模型从“回答问题”迈向“完成工作”。
|
11天前
|
人工智能 Linux iOS开发
Ollama使用教程:Ollama官网下载、Ollama本地部署大模型(2026最新)
Ollama 是一款免费开源的本地大模型运行工具,支持在 Windows/macOS/Linux 上离线运行 Qwen、DeepSeek、Llama 等主流开源模型,数据不出本机、隐私安全。提供 OpenAI 兼容 API,命令行一键拉取/运行/管理模型,无需联网,无调用限制,是开发者与 AI 爱好者部署本地 AI 助手的理想选择。(239 字)