AngularJS用户选择器指令实例分析


Posted in Javascript onNovember 04, 2016

本文实例分析了AngularJS用户选择器指令。分享给大家供大家参考,具体如下:

在开发表单时,我们需要使用经常需要使用到用户选择器,用户的数据一般使用如下方式存储:

用户1,用户2,用户3

我们可以使用angular指令实现选择器。

<!DOCTYPE html>
<html ng-app="app">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <script src="../assets/js/angular.min.js"></script>
  <link rel="stylesheet" href="../assets/css/bootstrap.min.css">
  <link rel="stylesheet" href="../assets/css/bootstrap-theme.min.css">
  <link rel="stylesheet" href="../assets/css/component.css">
  <link rel="stylesheet" href="../assets/css/form.css">
  <link rel="stylesheet" href="../assets/css/font-awesome.min.css">
   <script src="../assets/js/angular.min.js"></script>
   <script type="text/javascript">
     var base=angular.module("directive",[]);
     base.directive('htSelector', function() {
      return {
        restrict : 'AE',
        templateUrl:'selector.html',
        scope: {
          name: '=name'
        },
        link: function(scope, element, attrs) {
          var aryName=scope.name.split(",");
          scope.names=aryName;
          scope.remove=function(i){
            aryName.splice(i,1);
          };
          scope.$watch(
              "names",
              function (newValue,oldValue) {
                if(newValue!=oldValue){
                  scope.name=aryName.join(",");
                }
              },true
          );
          scope.selectUser=function(){
            aryName.length = 0;
            aryName.push("韩信");
          }
        }
      }
    });
    var app=angular.module("app",["directive"]);
    app.controller('ctrl', ['$scope',function($scope){
      $scope.names='自由港,马云,刘强东';
      $scope.getData=function(){
        console.info($scope.names)
      }
    }])
   </script>
</head>
<body ng-controller="ctrl">
  <div ht-selector name="names"></div>
  <button ng-click="getData()">获取数据</button>
</body>
</html>

模版URL

<div>
  <span ng-repeat="item in names">
       {{item}}<a class="btn btn-xs fa-remove" title="移除该项" ng-click="remove($index)"></a>
  </span>
  <a class="btn btn-sm btn-primary fa-search" ng-click="selectUser()">选择</a>
</div>

在指令中,使用了独立的scope,传入的数据为使用逗号分割的字符串,我们使用了数组进行操作。

这里的技巧是在字符串和数组之间进行转换。

这里使用了指令独立的scope,使用了watch 对数组进行操作,需要注意的是如果监控数组,需要使用深度监控。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
javascript中clone对象详解
Dec 03 Javascript
javascript匀速运动实现方法分析
Jan 08 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
layui实现form表单同时提交数据和文件的代码
Oct 25 Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 #Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 #Javascript
AngularJS中watch监听用法分析
Nov 04 #Javascript
AngularJS中的DOM操作用法分析
Nov 04 #Javascript
JS对大量数据进行多重过滤的方法
Nov 04 #Javascript
AngularJS模板加载用法详解
Nov 04 #Javascript
jQuery 遍历map()方法详解
Nov 04 #Javascript
You might like
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
wxpython学习笔记(推荐查看)
2014/06/09 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
Python中return self的用法详解
2018/07/27 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
如何理解python中数字列表
2020/05/29 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
大学系主任推荐信范文
2013/12/24 职场文书
八年级英语教学反思
2014/01/09 职场文书
超市商业计划书
2014/05/04 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
小学语文国培研修日志
2015/11/13 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
Redis特殊数据类型bitmap位图
2022/06/01 Redis
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript