zoukankan      html  css  js  c++  java
  • [整理]通过AngularJS directive对bootstrap日期控件的的简单包装

    最近项目上了AngularJS,而原来使用的日期控件的使用方式也需要改变,于是开始了倒腾,看了官方的例子,可以使用AngularJS的directive做简单的处理,这样在html里直接使用申明的的形式即可使用了。

    <!doctype html>
    <html ng-app="datepickerApp">
    	<head>
    		<link type="text/css" rel="stylesheet" href="bootstrap/css/bootstrap.css" />
    		<link type="text/css" rel="stylesheet" href="bootstrap-datepicker/css/datepicker3.css" />
    		<script src="jquery/jquery-1.11.1.min.js"></script>
    		<script src="angular.js"></script>
    		<script src="bootstrap/js/bootstrap.js"></script>
    		<script src="bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
    	</head>
    	<body>
    	  <input type="text" class="datepicker" >
    	  <hr>
    		<div ng-controller="datepickerController">
    			<input type="text" bs-Datepicker ng-model="vm.selectedDate">
    			<button ng-click="vm.show($event)">Date SELECT</button>
    
    			<br>
    			vm.selectedDate: {{vm.selectedDate}}
    		</div>
    		
    		<script type="text/javascript">
    			//bootstrap-datepicker
    			var datepicker1 = $('.datepicker').datepicker()
    				.on('changeDate',function (ev){
    					var newDate = new Date(ev.date)					
    					datepicker1.hide()
    
    					alert(newDate)
    				})
    				.data('datepicker')
    
    
    			//angular
    			var app = angular.module('datepickerApp', [])
    			
    			//angular-directive
    			app.directive('bsDatepicker',function(){
    				return {
    					restrict : 'EA',
    					scope:{
                model:"=ngModel"
            	},
    					link : function(scope,element,attrs,ctrl){
    						var datepicker1 = $(element).datepicker()
    							.on('changeDate',function (ev){
    								var newDate = new Date(ev.date)					
    								datepicker1.hide()
    
    								alert(newDate)
    							})
    							.data('datepicker')
    					}
    				}
    			})
    
    			app.controller('datepickerController',function ($scope){
    				
    				var vm = $scope.vm = {
    					selectedDate : new Date(),
    					setDate : function(date){
    						selectedDate = date
    					},
    					clearDate : function(){
    						selectedDate =  null
    					},
    					show : function($event){
    						
    					},
    					hide : function(){
    
    					}
    				}
    				
    
    	 
    
    
    
    			})
    
    		</script>	
    	</body>
    </html>
    
  • 相关阅读:
    js向input的value赋值
    报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'
    php下intval()和(int)转换使用与区别
    laravel 文件上传总结
    js实现图片上传到服务器和回显
    PHP feof() 函数
    laravel insert 、save、update、create区别(总结二)
    【MySQL经典案例分析】 Waiting for table metadata lock
    使用Laya引擎开发微信小游戏(下)
    一文带你看懂cookie,面试前端不用愁
  • 原文地址:https://www.cnblogs.com/Benoly/p/4109460.html
Copyright © 2011-2022 走看看