Vue 常用的指令都有哪些?并且有什么作用?

1、v-model 多用于表单元素实现双向数据绑定

    <input v-model="name" /> 
     // name 需要再data中定义,需要接收v-model传递过来的参数
     
   		data() {
 		   return {name:''}
  	   }

2、v-bind 动态绑定

作用: 及时对页面的数据进行更改

<!-- 完整语法 -->
<a v-bind:href="url"></a>


<!-- 缩写 -->
<a :href="url"></a>

	data() {
 		   return {url:'路径'}
  	   }

v-bind:class 三种绑定方法
1、对象型 ‘{red:isred}’
2、三元型 ‘isred?“red”:“blue”’
3、 数组型’[{red:“isred”},{blue:“isblue”}]’

v-bind和v-model的区别

v-bind是一个单向数据绑定,映射关系:Model->View,我们不需要进行额外的DOM操作,只需要进行Model的操作就可以实现视图的联动更新。

v-model是一个双向数据绑定,映射关系:View接受的数据,传给model,model的数据再传给view。把Model绑定到View的同时也将View绑定到Model上,这样就既可以通过更新Model来实现View的自动更新,也可以通过更新View来实现Model数据的更新。所以,当我们用JavaScript代码更新Model时,View就会自动更新,反之,如果用户更新了View,Model的数据也自动被更新了。


3、v-for 动态渲染

格式:v-for=“字段名 in(of) 数组 json” 循环数组或 json, 需要注意从 vue2 开始取消了$index

list 数组数据
    <ul>
       <li v-for="item in list" :key="item.id" v-html="item.name" />
    </ul>

data

data() {
    return {
      list: [
        {id: 1,name: '小明'},
        {id: 2,name: '小红'},
        {id: 3,name: '小绿'},
      ]
    }
   }

v-for里的:key

  1. 在写v-for的时候,都需要给元素加上一个key属性
  2. key的主要作用就是来提高渲染性能的
  3. key的属性可以避免数据渲染混乱的情况出现(如果元素中包含了临时数据的元素,如果不用key就会产生数据混乱)

4、v-show 显示内容

	 <div v-show="bool">我就是一个盒子</div>
     <div v-show="!bool">我就是两个盒子</div>
  		
  	 data() {
   		 return {
      		bool: true  // v-show 只会接收 布尔值(boolean)
   	   }
  }

5、v-if 显示与隐藏

<div id="app">
    <h1 v-if='yes'>Yes!</h1>
    <h1 v-if='no'>No!</h1>
</div>

<script>
	export default {
         data(){
            return {
          	    yes:true,
                no:false,
            }
        }
    }
</script>

v-else-if 必须和 v-if 连用 v-else 必须和 v-if 连用 不能单独使用 否则报错 模板编译错误

<div id="app">
    <h1 v-if='yes'>Yes!</h1>
    <h1 v-else>No!</h1>
</div>

v-if和v-show的区别

1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐;v-show是通过设置DOM元素的display样式,block为显示,none为隐藏;
2.编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换;
3.编译条件:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载); v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;
4.性能消耗:v-if有更高的切换消耗;v-show有更高的初始渲染消耗;


6、v-on:click 给标签绑定函数

可以缩写为@,例如绑定一个点击函数 函数必须写在 methods 里面

<div class="app">
    <!--正常写法-->
    <button v-on:click="myclick">click me</button>
    <!--简写-->
    <button @click="myclick">click me</button>
</div>  

<script>
 methods: {
    myclick() {
      console.log('你点我了一下')
    }
  }
</script>

7、v-text和v-html、{{}} 解析文本

	<div id="app">
    <!--  
		注意:在指令中不要写插值语法  直接写对应的变量名称 
        在 v-text 中 赋值的时候不要在写 插值语法
		一般属性中不加 {{}}  直接写 对应 的数据名 
	-->
    <p v-text="msg"></p>
    <p v-text="html"></p>
    <p>
        <!-- Vue  中只有在标签的 内容中 才用插值语法 -->
        {{msg}}
    </p>
</div>
 
<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'Hello Vue.js',
            html: "<span>html标签在渲染的时候被解析</span>"
        }
    });
 
</script>

总结

v-text和{{}}表达式渲染数据,不解析标签。
v-html不仅可以渲染数据,而且可以解析标签。 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue.js 是一个 JavaScript 库,主要用于构建用户界面。它通过把模板、数据和组件结合在一起,可以帮助开发者快速构建复杂的应用程序。 在 HTML 中,行内元素是指不会独立占用一行的元素。它们通常是嵌入在其他元素中的,并且会自动地排列在一行内。行内元素有: - `<a>`: 链接 - `<abbr>`: 缩略词 - `<acronym>`: 首字母缩略词 - `<b>`: 粗体 - `<bdi>`: 与其父元素文本方向不同的文本 - `<bdo>`: 覆盖父元素的文本方向 - `<br>`: 换行 - `<button>`: 按钮 - `<cite>`: 引用 - `<code>`: 代码 - `<dfn>`: 定义 - `<em>`: 强调 - `<i>`: 斜体 - `<img>`: 图像 - `<input>`: 输入框 - `<kbd>`: 键盘输入 - `<label>`: 标签 - `<map>`: 图像映射 - `<mark>`: 标记 - `<meter>`: 仪表盘 - `<output>`: 输出 - `<q>`: 短引用 - `<ruby>`: 注音 - `<samp>`: 样本输出 - `<select>`: 下拉列表 - `<small>`: 小号文字 - `<span>`: 行内容块 - `<strong>`: 重要文字 - `<sub>`: 下标 - `<sup>`: 上标 - `<textarea>`: 多行文本输入框 - `<time>`: ### 回答2: Vue中的行内元素指的是使用vue框架开发时,可以在html标签中使用vue指令的元素。常见的行内元素有:span、a、label、input等。 而块级元素指的是在html布局中能够独占一行的元素,并且具有一定的默认宽度。常见的块级元素有:div、p、ul、li、h1-h6等。 空(void)元素是指在html中没有实际内容的元素,也无需闭合标签,仅包含开始标签。常见的空元素有:br、hr、img、input、meta等。 以上都是常见的行内元素、块级元素和空元素,当然在实际开发中还有其他元素的分类,具体要根据HTML规范来确定元素的分类。同时需要注意不同元素的特性和适用场景,合理选择和使用不同的元素,能够更好地实现需求和优化页面布局。 ### 回答3: 在Vue中,行内元素可以通过style属性来进行样式设置。 常见的行内元素有: 1. span:用于包裹一小段文本或其他行内元素; 2. a:表示超链接,用于跳转到其他网页或页面内书签; 3. strong:表示强调重要的文本内容; 4. em:表示强调文本内容; 5. img:用于嵌入图片; 6. input:表示输入框,用于接收用户的输入。 块级元素是指在文档流中以块的形式独占一行的元素,常见的块级元素有: 1. div:用于容器,可以用来包裹其他元素; 2. p:表示段落; 3. h1~h6:表示标题; 4. ul:表示无序列表; 5. ol:表示有序列表; 6. li:表示列表项; 7. table:表示表格; 8. form:表示表单; 9. header:表示文档的页眉; 10. footer:表示文档的页脚。 空(void)元素是指在HTML中没有内容的元素。 常见的空元素有: 1. br:表示换行; 2. hr:表示水平分隔线; 3. img:表示图片; 4. input:表示输入框; 5. meta:表示文档的元数据; 6. link:表示外部资源的引用。 空元素不需要闭合标签,因为它们没有内容。在Vue中,可以直接在模板中使用这些空元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值