VUE基础指令以及部分知识

一、vue的使用

1.基础模板以及相应的内容

<!-- 组件的HTML -->
<template>
<!-- 组件的跟标签 -->
<div>
	
</div>
</template>

<!-- 组件的vue代码 -->
<script>

</script>


<!-- 组件的css样式 -->
<style>

</style>

大体上有三个标签组成分别为template、script、style,这三个标签的功能也在上图对应部分写出了,可以做参考。

在template里面有一个根标签,这个标签多写几个也不会报错,但是会影响渲染到页面上的标签结构;然后在在里面写具体内容。

在script里面写vue的代码,以实现对template里内容的操作。

在style里面写css样式,跟html学习时一样,并没有什么变化。

2.在编写代码时的模板

vue代码在export default{ }的大括号中写入

name是当前组件名字写不写都可以,因为不报错,但是写了可以更好的查找

scoped表示改style标签里的样式只作用于当前组件

二、VUE指令

<!-- 组件的HTML -->
<template>
<div>
	<p>{{name}}</p>
	<p>{{age}}</p>
</div>
</template>
<!-- 组件的vue代码 -->
<script>
export default{
	name:"name",
	data() {
		return{
			name:"张三",
			age:24
		}
	}
}
</script>
<!-- 组件的css样式 -->
<style scoped>

</style>

插值表达式:语法{{变量}}

例如

 当然也可以是数组,也可以做判断等

例如

 v-bind

<!-- 组件的HTML -->
<template>
<div>
	<p v-bind:="myValue">666</p>
	
</div>
</template>
<!-- 组件的vue代码 -->
<script>
export default{
	name:"name",
	data() {
		return{
			myValue:{
				class:'cls',
				id:'one'
			}
		}
	}
}
</script>
<!-- 组件的css样式 -->
<style scoped>
.cls{
	color:red;
}
</style>

效果

语法:v-bind:属性名="vue变量"

简写::属性名="vue变量"

用于绑定变量

v-on

<template>
  <!-- vue指令:   v-on事件绑定-->
  <p>你要买商品的数量: {{ count }}</p>
  <button v-on:click="count = count + 1">增加1</button>
  <button v-on:click="addFn">增加1个</button>
  <button v-on:click="addCountFn(5)">一次加5件</button>

  <button @click="subFn">减少</button>
</template>
<script>
export default {
  name: "App",
  data() {
    return {
      count: 1,
    };
  },
  methods: {
    addFn() {
      this.count++;
    },
    addCountFn(num) {
      this.count += num;
    },
    subFn() {
      this.count--;
    },
  },
};
</script>
<style lang="" scoped>
</style>

效果

客家可减,数字会变

用于绑定事件的

语法 :

v-on:事件名="要执行的代码"

v-on:事件名="methods中的函数"

v-on:事件名="methods中的函数(实参)"

简写:@事件名="methods中的函数"

v-model

<template>
  <p>{{count}}</p>
  <input type="text" v-model="count">
</template>
<script>
export default {
  name: "App",
  data() {
    return {
      count: 1,
    };
  },
};
</script>
<style lang="" scoped>
</style>

效果

 具体效果就是v-model绑定的变量发生变化,p标签绑定的值也会发生改变

用于双向绑定

语法:v-model="vue数据变量"

以及一些修饰符

语法:v-model.修饰符="vue数据变量"

.number 以parseFloat转为数字类型

.trim 去除首尾空白字符

.lazy 在change时触发而非inupt时

v-text和v-html

<template>
  <div>
    <p v-text="str"></p>
    <p v-html="str"></p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      str: "<a href='#'>我是一个a标签</span>",
    }
  }
}
</script>
<style>
	
</style>

效果

 语法:

v-text="vue数据变量"

v-html="vue数据变量"

注意:会覆盖掉插值表达式

v-text把值当作普通字符串显示,v-html把值当作html解析

v-show和v-if

控制标签的隐藏或出现

具体代码和效果

 

 语法:

v-show="vue变量"

v-if="vue变量"

v-for

用于遍历数组

<!-- 视图层 -->
<template>
  <div id="app">
    <div id="app">
      <!-- v-for 把一组数据, 渲染成一组DOM -->
      <!-- 口诀: 让谁循环生成, v-for就写谁身上 -->
      <p>学生姓名</p>
      <ul>
        <li v-for="(item, index) in arr" :key="item">
          {{ index }} - {{ item }}
        </li>
      </ul>

      <p>学生详细信息</p>
      <ul>
        <li v-for="obj in stuArr" :key="obj.id">
          <span>{{ obj.name }}</span>
          <span>{{ obj.sex }}</span>
          <span>{{ obj.hobby }}</span>
        </li>
      </ul>

      <!-- v-for遍历对象(了解) -->
      <p>老师信息</p>
      <div v-for="(value, key) in tObj" :key="value">
        {{ key }} -- {{ value }}
      </div>

      <!-- v-for遍历整数(了解) - 从1开始 -->
      <p>序号</p>
      <div v-for="i in count" :key="i">{{ i }}</div>
    </div>
  </div>
</template>

<!-- 逻辑层 -->
<script>
export default {
  name: "",
  data() {
    return {
      arr: ["小明", "小欢欢", "大黄"],
      stuArr: [
        {
          id: 1001,
          name: "孙悟空",
          sex: "男",
          hobby: "吃桃子",
        },
        {
          id: 1002,
          name: "猪八戒",
          sex: "男",
          hobby: "背媳妇",
        },
      ],
      tObj: {
        name: "小黑",
        age: 18,
        class: "一年一班",
      },
      count: 10,
    };
  },
};
</script>

<!-- 样式层 -->
<style lang="" scoped>
</style>

效果

语法:

v-for="(值, 索引) in 目标结构"

v-for="值 in 目标结构"  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值