• 【前端】vue.js实现输入框绑定


    vue.js实现输入框绑定

    实现效果如下:

    实现代码及注释

     

    <!DOCTYPE html>
    <html>
    <head>
    	<title>vue.js数据动态编辑</title>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<style type="text/css">
    		/* 在Vue实例没有准备好之前隐藏没有编译的mustache */
    
    		[v-cloak]{
    			display: none;
    		}
    		*{
    			padding: 0;
    			margin: 0;
    		}
    		body{
    			font: 15px/1.3 'Open Sans', sans-serif;
    			color: #5e5b64;
    			text-align: center;
    		}
    		a, a:visited{
    			outline: none;
    			color: #389dc1;
    		}
    		a:hover{
    			text-decoration: none;
    		}
    		section,footer,header,aside,nav{
    			display: block;
    		}
    
    		/* tooltip style */
    		.tooltip{
    			background-color: #03c03c;
    			background-image: -webkit-linear-gradient(top, #03c03c, gray);
    			background-image: -moz-linear-gradient(top,#03c03c, gray);
    			background-image: linear-gradient(top, #03c03c, gray);
    
    			box-shadow: 0 1px 1px #ccc;
    			border-radius: 3px;
    			 290px;
    			padding: 10px;
    
    			position: absolute;
    			left: 50%;
    			margin-left: -150px;
    			top: 50px;
    		}
    
    		/* 小三角形 */
    		.tooltip:after{
    			content: "";
    			position: absolute;
    			border:  6px solid #03c03c;
    			border-color: #03c03c transparent transparent;
    			 0;
    			height: 0;
    			bottom: -12px;
    			left: 50%;
    			margin-left: -6px;
    		}
    
    		.tooltip input{
    			border:  none;
    			 100%;
    			line-height: 34px;
    			border-radius: 3px;
    			box-shadow: 0 2px 6px #bbb inset;
    			text-align: center;
    			font-size: 16px;
    			font-family: inherit;
    			color: #8d9395;
    			font-weight: bold;
    			outline: none;
    		}
    		p{
    			font-size: 22px;
    			font-weight: bold;
    			color: #6d8088;
    			height: 30px;
    			cursor: pointer;
    		}
    		p b{
    			color: #fff;
    			display: inline-block;
    			padding: 5px 10px;
    			background-color: #c4d7e0;
    			border-radius: 2px;
    			text-transform: uppercase;
    			font-size: 18px;
    		}
    		p:before{
    			content:"✎";
    			display: inline-block;
    			margin-right: 5px;
    			font-weight: normal;
    			vertical-align: text-bottom; 
    		}
    		#main{
    			height: 300px;
    			position: relative;
    			padding-top: 150px;
    		}
    	</style>
    </head>
    <body>
    
    <!-- 在Vue实例准备好之前,v-vloak会隐藏任何没有编译的绑定数据 -->
    <!-- 当元素被点击后,hideTooltp()方法将被调用 -->
    
    <div id="main" v-cloak v-on:click="hideTooltip">
    	
    	<!-- 这是一个tooltip。
    		v-on:clock.stop是一个关联点击事件的句柄,用于停止事件。
    		v-if保证只有在showtooltip变量为真时才显示tooltip-->
    
    	<div class="tooltip" v-on:click.stop v-if="show_tooltip">
    		
    		<!-- v-model绑定text_content模型的文本内容,对于任何文本编辑框的变化都会被自动更新 -->
    
    		<input type="text" name="" v-model="text_content">
    	</div>
    
    	<!-- 当p区域被点击后,会调用toggleTooltip方法,阻止事件扩散 -->
    	<!-- mustache表达式将会替换text_content的值,它将会自动更新变量值的所有变化 -->
    
    	<p v-on:click.stop="toggleTooltip">{{text_content}}</p>
    </div>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.5/vue.min.js"></script>
    
    <script type="text/javascript">
    	// 创建一个Vue实例,并且传递一个可选对象
    	var demo = new Vue({
    
    		// 一个DOM元素表示view model
    		el: '#main',
    
    		// 定义属性值,给出初始值
    
    		data: {
    			show_tooltip :false,
    			text_content: '点击这里进行编辑'
    		},
    
    		// 需要使用到的函数
    
    		methods: {
    			hideTooltip: function(){
    				// 当model被修改,view将被自动更新
    				this.show_tooltip = false;
    			},
    			toggleTooltip: function(){
    				this.show_tooltip = !this.show_tooltip;
    			}
    		}
    	})
    </script>
    
    </body>
    </html>
    

     

      

     

  • 相关阅读:
    osgearth 编译日志
    osg Error osgearth_viewerd fails with "Loaded scene graph does not contain a MapNode
    多自由度机械臂模拟-吊绳伸缩
    多自由度机械臂模拟7
    osgViewer
    多自由度机械臂模拟6
    多自由度机械臂模拟5
    多自由度机械臂模拟4
    多自由度机械臂模拟3
    多自由度机械臂模拟2
  • 原文地址:https://www.cnblogs.com/dragonir/p/7405140.html
Copyright © 2020-2023  润新知