[AngularJS] Compile(), element(), link(), watch()

Functionail:

When user type "password" in the input.

The div will toggle class to alert-box alert.

复制代码
/**
 * Created by Answer1215 on 8/23/2014.
 */
var app = angular.module("callApp", []);

app.directive('dumpPassword',function(){

    var pwdEl = angular.element('<div>{{model.text}}</div>');
    this.link = function(scope){
        scope.$watch('model.text', function(value){
            if(value === "password"){
                pwdEl.toggleClass('alert-box alert');
            }
        })
    };
    return{
        restrict: 'E',
        template: '<div> <input type="text" ng-model="model.text"></div>',
        replace:true,
        compile: function(elFromTemplate){
            elFromTemplate.append( pwdEl);
            return link;
        }
    }
});
复制代码

 

复制代码
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Angular Scope &</title>
    <link href="foundation.min.css" rel="stylesheet"/>
    <script src="angular.min.js"></script>
    <script src="app.js"></script>
</head>
<body ng-app="callApp">
    <dump-password></dump-password>
</body>
</html>
复制代码

 

posted @   Zhentiw  阅读(275)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示