初学angular-简单的angular指令

实现一个简单的input清空内容,且清空对应ngModel

前台部分

<html ng-app="hpapp">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="css/test.css">
    <script type="text/javascript" src="js/angular.js"></script>
    <script type="text/javascript" src="js/inputempty.js"></script>
    <script type="text/javascript" src="js/info.js"></script>
</head>

<body>
    <div ng-controller="InfoCtrl">
        <input type="text" name="email" ng-model="model.email" inputempty maxvalue="10">
        <br>
        <br>
        <br>
        <input type="text" name="text" ng-model="model.text" inputempty>
        <br>
        <br>
        <br> {{model.email +"*"+ model.text}}
    </div>
</body>

</html>

控制器部分  info.js

1 var app = angular.module(‘hpapp‘);
2 app.controller(‘InfoCtrl‘, function($scope) {
3     $scope.model = {
4         email: ‘1073520680‘,
5         text: ‘‘
6     };
7 });

指令部分

var app = angular.module(‘hpapp‘, []);
app.directive(‘inputempty‘, function() {
    return {
        restrict: ‘A‘,
        require: ‘ngModel‘,
        link: function(scope, elem, attrs, ctrl) {
            var close = ‘<span class="clear"></span>‘;
            elem.next().bind(‘click‘, function() {
                ctrl.$setViewValue(‘‘);
                elem.val(‘‘);
            });
        }

    };
});
ctrl.$setViewValue(‘‘);//清空ngModel
elem.val(‘‘);//清空表单

css 部分

.closeW{
    width: 16px;
    height: 16px;
    color: #ccc;
    text-align: center;
    line-height: 16px;
    border: 1px solid #ccc;
    border-radius:16px;
    float: left;
}
.content{
    width: 530px;
    border:1px solid #ccc;
    position: relative;
}
.editW{
    width: 480px;
    min-height: 280px;
    margin: 0;
    padding: 10px;
    outline: none;
}
.clear{
    clear: both;
}
.empty{
    width: 16px;
    height: 16px;
    color: #ccc;
    text-align: center;
    line-height: 16px;
    border-radius:16px;
    border: 1px solid #ccc;
    margin-left: -20px;
    cursor: pointer;
    display: inline-block;
}

.clear {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    margin-left: -20px;
    cursor: pointer;
    background: url(‘../image/a.png‘) no-repeat -20px -10px;
}

input{
    padding-right:20px;
    padding-left: 5px;
}
时间: 2024-12-18 08:21:58

初学angular-简单的angular指令的相关文章

Node.js开发入门—Angular简单示例

在"使用AngularJS"中,我们提到了如何在Node.js项目中引入AngularJS,这次提供一个非常简单的示例,演示AngularJS里的指令.数据绑定.服务等内容. 我准备做Web后台管理系统,不同的管理员会有不同的权限,管理员登录后看到的菜单和他的权限有关,能看到什么,是动态生成的(类似RBAC).本文的示例从这个项目而来,当然,现在还是最简单的. 如果没有特别说明,后面我们用到的示例都使用express generator生成. Angular小demo 先搞起来吧. 第

Angular.js中的指令——易懂全解析

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">angular.js中,指令是最基础的

推荐 15 个 Angular.js 应用扩展指令(参考应用)

几天前我们看到Angular 1.4.0发布了-一个以社团为驱动的发布版本涵盖了400多个GitHub的提交,增加了对特性的提升,比如动画,以及可用性. 官方新闻发布稿 覆盖了绝大部分,这同样值得放于 官方版本库 中. Angular.js   是一个神奇的JS框架,这一点毫无疑问,但是尽管受欢迎度和社团日益增长,但是社团中的很多开发者觉得Angular是另外一种浪费个人时间和效率的形式.在这些最不招人喜欢的问题中你会发现,测试和调试简直就是一个噩梦.你可以从网络上找到一些分散的报告, 这里有一

Angular API 核心组件之 指令篇

1 ngApp 利用这个指令可以自动触发Angular程序,ngApp指令指定了angular 应用的根节点,一般都会把这个指令绑定在页面的根节点上,例如:<body>或者<html>标签. 每个页面只有一个AngularJs的应用可以被自动触发,文档中第一个ngAPP指令会自动触发AngularJs应用.如果在一个html文档中想触发多个AngularJs的应用,你需要用angular.bootstrap来手动触发.angularJs应用不能互相嵌套. 你可以为angular应用

构建一个简单的Angular工程

1.创建一个空的工程,之后用webstorm打开,添加一个bower.json文件: 1 { 2 "name": "AngularTpl", 3 "dependencies": { 4 5 } 6 } 2.之后,进入工程的位置,进入工程,使用Git Bash进入命令行,输入   bower install --save angular 3.简单的   angular  环境搭建完成

Angular使用操作事件指令ng-click传多个参数示例

本文实例讲述了Angular使用操作事件指令ng-click传多个参数功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8"> <title>www.jb51.net angular ng-click用于操作事件的指令</title> <script src="a

嘿!@野兽,你的ng api 掉了 - - angular.uppercase和angular.lowercase

@野兽的 ng api 学习 -- angular.uppercase和angular.lowercase angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = "ABCabc"; var upperCase = angular.uppercase(str);//ABCABC angular.lowercase 将指定的字符串转换成小写 格式:ang

嘿!@野兽,你的ng api 掉了 - - angular.identity和angular.noop

@野兽的 ng api 学习 -- angular.identity和angular.noop angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码: <script> angular.module("Demo", []) .controller("testCtrl", ["$scope", function ($scope) { var getR

JSP简单练习-JSP指令

一.page指令: 定义JSP页面的全局属性值时可使用page指令,一般把它放在页面的首部.如: <%@ page contentType="text/html; charset=gb2312" %> 注意:page指令中的contentType属性不能在同一个页面中被两次指定值. page指令的属性比较多,用方括号"[]"括起来的属性表示可选属性. 1.language: language定义页面使用的脚本语言,默认情况下值为java,因此在编写JSP

angular.js 的angular.copy 、 angular.extend 、 angular.merge

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></s