Vue基本语法 (一)

一、前言

我上篇博客和大家分享了Vue的入门学习,这次给大家分享Vue的基本语法,希望能够帮助到大家。

二、插值

1、html字符串的渲染

就是使用v-html指令用于输出html代码
例:

<div id="app">
	<div v-html="html"></div>
</div>
<script type="text/javascript">
		var vm=new Vue({
			el:'#app',//规范Vue的作用范围
			data:function(){
				return{s
					html:'<input type="text" value=0 />',
				}
			}
</script>

2、属性绑定指令

HTML属性中的值应使用v-bind指令

例:

<div id="app">
	<a v-bind:href="href">新浪</a>
	<input type="button" value="点击" v-on:click="onClick"></input>
</div>

	<script type="text/javascript">
		var vm=new Vue({
			el:'#app',//规范Vue的作用范围
			data:function(){
				return{
					href:'http://www.sina.com',
				}
			},
			methods:{
				onClick:function(){
					alert(11111);
				}
			},
		});
	</script>

3、表达式

Vue提供了完全的JavaScript表达式支持
{{str.substr(0,6).toUpperCase()}}
{{ number + 1 }}
{{ ok ? ‘YES’ : ‘NO’ }}

  • 我的Id是js动态生成的

  • 例:

    <div id="app">
    	{{str.substr(0,6).toUpperCase()}}
    	{{number+1}}
    	{{ok ? 'YES' : 'NO'}}
    	<!-- 动态赋ID -->
    	<li v-bind:id="'list-' + id">dfadgrgda</li>
    </div>
    
    
    <script type="text/javascript">
    		var vm=new Vue({
    			el:'#app',//规范Vue的作用范围
    			data:function(){
    				return{
    					str:'hello vue',
    					number:10,
    					ok:true,
    					id:13,
    				}
    			},
    		});
    </script>
    

    三、指令

    指的是带有“v-”前缀的特殊属性
    核心指令
    (v-if|v-else|v-else-if)/v-show/v-for/v-bind/v-on/v-model

          v-if|v-else|v-else-if:根据其后表达式的bool值进行判断是否渲染该元素
            他们只能是兄弟元素
            v-else-if上一个兄弟元素必须是v-if
            v-else上一个兄弟元素必须是v-if或者是v-else-if
    
          v-show:与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style="display:none"
    
          v-for:类似JS的遍历,
                 遍历数组: v-for="item in items", items是数组,item为数组中的数组元素
                 遍历对象: v-for="(value,key,index) in stu", value属性值,key属性名,index下标
    
          v-bind
          v-on
          v-model:用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值   
            v-for/v-model一起绑定[多选]复选框和单选框  
     例:
    
    <div id="app">
    			<li>1 v-if|v-else|v-else-if分支语句</li>
    			<ul>
    				<div v-if="sex=='boy'">
    					aaa
    				</div>
    				<div v-else-if="sex=='bo'">
    					bbbb
    				</div>
    				<div v-else>
    					ccc
    				<div>
    			</ul>
    			<!-- 区别  v-if : 控制标签是否打印
    					   v-show: 控制标签的样式
    			 -->
    			<li>v-show指令</li>
    			<input type="checkbox" v-model="show" />老王可以出来了
    			<div v-show="show">
    				总是安全了
    			</div>
    			
    			
    			<li>v-for</li>
    			<div v-for="st in students">
    				{{st.id}}
    			</div>
    </div>
    
    <script>
    		var vm=new Vue({
    			el:'#app',//规范Vue的作用范围
    			data:function(){
    				return{
    					show:false,
    					students:[
    						{'id':'1','name':'zs','score':94},
    						{'id':'2','name':'ls','score':96},
    						{'id':'3','name':'ww','score':65},
    						{'id':'4','name':'zl','score':77}
    					],
    				}
    			},
    		});
    		
    	</script>
    

    四、属性

    1、计算属性

    计算属性可用于快速计算视图(View)中显示的属性。这些计算将被缓存,并且只在需要时更新

     computed:{
           xxx:function(){
              
           }
       }
    

    2、监听属性

    监听属性
    监听属性 watch,我们可以通过 watch 来响应数据的变化
    xxx:代表被监听的属性,必须存在

    watch:{
          xxx:function(v){
    
          }
       }
    

    实例:

    <div id="app">
    	<li>计算属性</li>
    	单价:<input v-model="price" />
    	数量:<input v-model="num" />
    	总价:{{total}}
    	<li>监听属性</li>
    	kb:<input type="text" name="" v-model="kb" /><br/>
    	mb:<input type="text" name="" v-model="mb" /><br/>
    </div>
    var vm=new Vue({
    			el:'#app',//规范Vue的作用范围
    			data:function(){
    				return{
    					kb:1024,
    					mb:1,
    					price:16,
    					num:1
    				}
    			},
    			watch:{
    				kb:function(v){
    					var i=10;
    					this.mb=v/1024;
    				},
    				mb:function(v){
    					this.kb=v*1024;
    				}
    			},
    			computed:{
    				total(){
    					return parseInt(this.price)*parseInt(this.num);
    				}
    			}
    		});
    		
    	</script>
    

    五、对应结果图及总结

    在这里插入图片描述
    在这里插入图片描述
    好了这次的内容就和大家分享到这了如果有疑问或者我有些不对的地方欢迎评论区留言,或者可以进我主页参考我上篇博客Vue的入门学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值