AngularJS使用者選取器指令執行個體分析_AngularJS

來源:互聯網
上載者:User

本文執行個體分析了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程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.