Vue基本知识点学习

Vue基础知识点学习 day01

1.基本认识:
Vue是一个构建数据驱动的 web 界面的渐进式框架,所谓’‘渐进式’‘其实就是你掌握了Vue的多少用法就使用多少,不像一些框架必须掌握所有才能进行运用。
2.Vue特性

  • 轻量
    Vue.js库的体积非常小的,并且不依赖其他基础库。

  • 数据绑定
    对于一些富交互、状态机类似的前端UI界面,数据绑定非常简单、方便。

  • 指令
    内置指令统一为(v—*),也可以自定义指令,通过对应表达值的变化就可以修改对应的DOM。

  • 插件化
    Vue.js核心不包含Router、AJAX、表单验证等功能,但是可以非常方便地根据需要加载对应插件。

  • 组件化
    组件可以扩展 HTML 元素,封装可重用的代码。允许我们使用小型、自包含和通常可复用的组件构建大型应用
    3.Vue资源安装
    很简单,到官网上下载就可以,任意版本都行,然后直接将js拷贝到项目中就完事
    在这里插入图片描述4.Vue的简单使用认识

    • 步骤一(引入js文件):

    在这里插入图片描述

     这里需要注意两个小问题:
     		1.<script></script>必须是双标签,单标签的<script>是没有效果的
     		2.相对路径和绝对路径的注意
    
    • 步骤二(准备挂载的元素):
      在这里插入图片描述

        这里我们创建一个<div>标签,给一个id
      
    • 步揍三(准备数据):

	<script>
        var app = new Vue({
            el:"#one",	//el:"#xx" 就是与你给定id为xx的标签进行挂载(也就是建立联系)
            						当然el:".xx" 还能挂载class和el:"div"标签 (推荐还是通过id来进行操作
            data:{   //vue的数据绑定在data属性上,data本身也是一个对象
                massage:"hello vue", 		//然后在你所挂钩的标签中通过  {{massage}}  的书写方式就能获取其中的值
                arr:[1,2,3,4],	//数组也一样 {{arr[0]}}
                employee:{			//对象  {{employee,name}} 
                    name:"你好",
                    age:12
                }
            },
            methods:{	//Vue实例的方法保存在配置属性methods中,methods自身也是一个对象. 该对象中值都是方法体
                say(){
                    alert("你好")
                }
            }
        });
        app.say();	//js调用方式		在挂载标签中 {{say}} Vue的掉用方法,里面可以不写()
    </script>

Vue架构认识

MV VM模式:(medol view viewmodel)
在这里插入图片描述具体解释:
在这里插入图片描述

VueJS表达式

VueJS表达式写在双大括号内:{{ expression }}
VueJS表达式把数据绑定到 HTML
VueJS将在表达式书写的位置"输出"数据
VueJS表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量

1
		基本的算术运算
		 /*
          * 运算 字符串 有字符串时除了‘+’加是字符串的拼接 其他会正常运算
          **/
         num: 5 + 10,
         nums: "5" + 10,
         chengfa: 5 * 9,
         chufa: 10 / 2,
         chengfas: "50" * 10,
2
		<div id="app">
			<!--三目运算  -->
			{{ show1?"真":"假"}} //真
		</div>
		<script type="text/javascript" src="js/vue/vue.min.js"></script>
		<script type="text/javascript">
			var app = new Vue({
				el : "#app",
				data : {
					show1 : true //这里为true
				}
			});
		</script>
3
	1.  直接使用字符串字面值作为字符串对象
	2.  使用data中的字符串对象
	<div id="app">
	    {{"这是字面值"}}<br/>
	    {{"这是字面值".length}}<br/>
	    {{message.length}}<br/>		//获取字符串长度
	    {{message.substring(1,5)}}<br/> //截取1-5个字符
	    {{message.substring(2,6).toUpperCase()}}<br/>
	</div>
	<script type="text/javascript" src="js/vue/vue.min.js"></script>
	<script type="text/javascript">
	    var app = new Vue({
	        el: "#app",
	        data: {
	            message: "这是data中的数据"
	        }
	    });
	</script>
4
	对象操作
	在表达式中可以使用data中定义的对象的各种用法.像使用js对象中的方法和属性一样
	<div id="app">
	    {{user}}<br/>
	    {{user.toString()}}<br/>
	    {{user.name}}<br/>
	    {{user.age}}<br/>
	    {{user.getAge()}}<br/>
	</div>
	<script type="text/javascript" src=“js/vue/vue.min.js”></script>
	<script type="text/javascript">
	    var user = {
	        name: "张三",
	        age: 29,
	        getAge: function () {
	            return this.age //前台返回user的年龄
	        },
	        toString:function(){
	            return "姓名:"+this.name+",年龄:"+this.age; //这里的this就是user
	        }
	    };
	    var app = new Vue({
	        el: "#app",
	        data: {
	            user: user	//
	        }
	    });
	</script>
5
	数组操作
	在表达式中可以使用JavaScript数组中的任何语法来操作数组.
	<div id="app">
	    {{hobbys}}<br/>
	    {{hobbys[0]}}<br/>
	    {{hobbys.length}}<br/>
	</div>
	<script type="text/javascript" src=“js/vue/vue.min.js”></script>
	<script type="text/javascript">
	    var app = new Vue({
	        el: "#app",
	        data: {
	            hobbys:["打游戏","踢足球",'泡MM',"泡GG"]
	        }
	    });
	</script>

Vue指令

可以去查看官方文档有详细的介绍和使用方法,作用

## 常见的指令
	v-text=“表达式”  设置标签中的文本
	v-html=“表达式”  设置标签中的html
	v-if=“表达式”    判断条件	
	v-for=“表达式”   循环
	v-model=“表达式” 数据双向绑定
	v-on=“表达式”    注册事件
5:vue指令:
   指令:v-*;
   
  v-text:操作的文本;
  
  v-html:操作的html;
  
  v-for:
     v-for=” currentObject in  Objects”
   如果是对象:
     每次遍历得到的是对象的属性值:
 	v-for=” (v,k,i) in  Objects”

   如果是数组:
     每次遍历得到的是数组中单独的一个值:
	 v-for=” (array,i) in  arrays”
 
 	 v-bind:给html标签绑定属性
    单一属性绑定:v-bind:属性名=”表达式”
    绑定一个对象:v-bind=”表达式”
    
 	v-model:数据模型的绑定:双向绑定
  	v-model=”表达式”;
	作用于:   input  select textarea;如果是复选框:应该data使用数组;

	v-show:是否显示,判断表达式的值,
	true:显示;false:隐藏(只是增加一个样式:display:none,html元素没有删除的哦)

	v-if:
	1:   v-if=”表达式”:true就做事情,false:压根就把这个元素给删除了;
	2:v-if=”表达式”
    	v-else
	3:v-if=”表达式”
   	v-else-if=”表达式”
   	v-else-if=”表达式”
    v-else
 
	v-on:
	 给一个html标签绑定事件:
	v-on:事件名=”表达式”;
	 注意:this:当前对象

具体代码:

v-text=“表达式”  设置标签中的文本
	<div id="xxx" v-Text="text">
        {{text}}
    </div>
    <!--v-text不能解析html标签-->
    <script>
        new Vue({
            el:"#xxx",
            data:{
                text:"<h1>你是谁<h1>"
            }
        })
    </script>
<!--v-html能够解析html的标签功能-->
<div id="aaa" v-html="title">
    {{title}},
</div>

<script>
    new Vue({
        el: "#aaa",
        data: {
            title: "<h1>Helle world<h1>",
        }
    })
</script>
<div id="myDiv" >
        <div v-if="num<20">
            <h1>数目小于20</h1>
        </div>
        <div v-elas-if="num>=40">
            <h1>数目大于20小与40</h1>
        </div>
        <div v-elas>
            <h1>数目大于40</h1>
        </div>
    </div>

    <script>
        new Vue({
            el:"#myDiv",
            data:{
                num:20
            }
        })
    </script>
<!--添加挂钩属性--> 
v-model只作用于以下表单:  [input  select(下拉) textarea(文本域)]

    <div id="Mydiv">
        <input type="text" v-model="title">
        {{title}}
        <textarea v-model="text"></textarea>
        {{text}}
        <select>
            <option v-for="a in arr" :arr="a.id">
                {{a.name}}
            </option>
        </select>
    </div>

    <script>
        new Vue({
            el:"#Mydiv",
            data:{
                title:"123456",
                text:"ssssssssssss",
                arr:[
                    {id:1,name:"壹"},
                    {id:2,name:"贰"},
                    {id:3,name:"叁"},
                ]
            }
        })
    </script>
<!--show为false时,只是页面隐藏信息,但是依然有值-->
    <div id="MyDiv" v-show="false">
        {{title}}
    </div>

    <script>
        new Vue({
            el:"#MyDiv",
            data:{
                title:"显示和隐式"
            }
        })
    </script>
<body>
    <button id="Mybtn"value="按钮" @click="say()" v-on:click="say">
    	按钮  	//这里有两种注册事件的写法 一: v-on:click="say"	
    										二:@click="say()" 方法的()括号可写可不写,需要传值就写上
    </button>
    <script>
        new Vue({
            el:"#Mybtn",
            methods:{
                say(){
                    alert("弹出")
                }
            }
        })
    </script>
</body>

组件:自定义编标

 <script>
        /**
         * 注意点
         *  1.一定要先定义组件,再进行vue的挂载
         *  2.模板中必需有一个根标签
         *  3.取名的问题
         *      如果使用驼峰命名法 myTag -> <my-tag>
         * /
        //自定义一个全局组件(把相同的代码搞成一个组件,以后方法调用)
        /**
         * 全局组件:被Vue挂载到的地方都可以使用
         * 定义了一个组件,名字叫做:mytag
         *  第一个参数:组件名  第二个:模块
         */
        Vue.component("mytag",{
            //组合的模板
            template:"<h1>假如有一千句html</h1>"
        })

        new Vue({
            el:"#app"
        })

        new Vue({
            el:"#app2"
        })
    </script>

局部组件

<div id="app">
        <mytag></mytag>
    </div>
    <div id="app2">
        <mytag></mytag>
    </div>

    <script>
        new Vue({
            el:"#app",
            //组件(多个)
            components:{
                mytag:{
                    template:"<h2>我是局部组件</h2>"
                }
            }
        })
    </script>
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值