Heim > Web-Frontend > View.js > Hauptteil

了解vue.js中的常用指令(总结)

青灯夜游
Freigeben: 2020-11-06 17:58:08
nach vorne
2108 人浏览过

了解vue.js中的常用指令(总结)

v-text

v-text主要用来更新textContent,可以等同于JS的text属性。


// 等同于下方语句: 
{{text}}
Nach dem Login kopieren

v-html

双大括号的方式会将数据解释为纯文本,而非HTML。为了输出真正的HTML,可以用v-html指令。它等同于JS的 innerHtml 属性。

注意:内容按普通 HTML 插入 - 不会作为 Vue 模板进行编译 。

Nach dem Login kopieren

v-show

等同于 css 的 dispaly 属性切换 “none” 和 “block” 设值。

hello world
Nach dem Login kopieren
Nach dem Login kopieren

v-if

v-if可以实现条件渲染,Vue会根据表达式的值的真假条件来渲染元素。

hello world
Nach dem Login kopieren
Nach dem Login kopieren

上方代码,如果 isShow 为 false 则div被渲染,否则不被渲染。

注意:

v-if 需要和 v-show 区分开,v-show 的元素会始终被渲染并保存在 dom 中,它只是简单的切换 css 的 dispaly 属性。

v-if有更高的切换开销。

v-show有更高的初始渲染开销。

所以,如果要非常频繁的切换,使用 v-show 较好;如果在运行时条件不太可能改变,使用 v-if 较好。

v-else

v-else 是搭配 v-if 使用的,它必须紧跟在 v-if 或者 v-else-if 后面,否则不起作用。
类似 JS 的 if .. else。

值为true的时候显示的内容
值为false的时候显示的内容
Nach dem Login kopieren

v-else-if

v-else-if充当v-if的else-if块,可以链式的使用多次。 类似JS的 if .. else if .. else

A
B
C
Not A,B,C
Nach dem Login kopieren

v-for

用v-for指令根据遍历数组来进行渲染。

  • {{item.name}}
// 补充: // 也可以自行指定参数,最多可以接受3个参数
// 迭代对象
  • {{ index }}. {{ key }} : {{ value }}
  • // 迭代整数
    • {{ n }}
Nach dem Login kopieren

v-on

绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。
v-on 也可以简写为 " @ ",如:

v-on="show" 可以简写为: @show























Nach dem Login kopieren

还可以使用修饰符,具体如下:

.stop - 调用 event.stopPropagation()。

.prevent - 调用 event.preventDefault()。

.capture - 添加事件侦听器时使用 capture 模式。

.self - 只当事件是从侦听器绑定的元素本身触发时才触发回调。

.{keyCode | keyAlias} - 只当事件是从特定键触发时才触发回调。

.native - 监听组件根元素的原生事件。

.once - 只触发一次回调。

.left - 只当点击鼠标左键时触发。

.right - 只当点击鼠标右键时触发。

.middle - 只当点击鼠标中键时触发。

.passive - 以 { passive: true } 模式添加侦听器

v-bind

动态地绑定一个或多个特性,或一个组件 prop 到表达式。常用于动态绑定class和style。以及href等。

可简写为:" : ",如:

v-bind:class=" isActive : 'active' :' ' ",可简写为::class=" isActive : 'active' :' ' "

//渲染结果为:
Nach dem Login kopieren

绑定多个 class ,具体如下:

//渲染结果为:
Nach dem Login kopieren

其他实例,具体见下方代码:

















Nach dem Login kopieren

v-model

在表单控件或者组件上创建双向绑定。
v-model会忽略所有表单元素的value、checked、selected特性的初始值。因为它选择Vue实例数据做为具体的值。

hello {{somebody}}

Nach dem Login kopieren

这个例子中直接在浏览器input中输入别的名字,下面的p的内容会直接跟着变。这就是双向数据绑定。

可用修饰符:

.lazy - 默认情况下,v-model同步输入框的值和数据。可以通过这个修饰符,转变为在change事件再同步。

.number - 自动将用户的输入值转化为数值类型

.trim - 自动过滤用户输入的首尾空格

修饰符使用方法:如:

Nach dem Login kopieren

v-pre

v-pre主要用来跳过这个元素和它的子元素编译过程。可以用来显示原始的Mustache标签。跳过大量没有指令的节点加快编译。

{{message}} //这条语句不进行编译 {{message}}
Nach dem Login kopieren

这个指令是用来保持在元素上直到关联实例结束时进行编译。

{{message}}
Nach dem Login kopieren

解释:
在页面加载时会闪烁,先显示:

{{message}}
Nach dem Login kopieren

然后才会编译为:

hello world!
Nach dem Login kopieren

v-cloak指令可以解决上面插值闪烁的问题,如下:其实利用的就是当插值没有被加载出来的是通过 style属性将内容给隐藏了。

  
  
  

++++++++ {{ msg }} ----------

Nach dem Login kopieren

v-once

v-once关联的实例,只会渲染一次。之后的重新渲染,实例极其所有的子节点将被视为静态内容跳过,这可以用于优化更新性能。

This will never change:{{msg}} //单个元素
//有子元素

comment

{{msg}}

//组件
  • {{i}}
Nach dem Login kopieren

上面的例子中,msg,list即使产生改变,也不会重新渲染。

v-slot

提供具名插槽或需要接收 prop 的插槽。

可简写为:#

slot 和 scope-slot 是在 vue@2.6.x 之前的语法,而从 vue@2.6.0 开始,官方推荐我们使用 v-slot 来替代前两者。

使用具名插槽来自定义模板内容(vue@2.6.x已经废弃)

Nach dem Login kopieren

在向具名插槽提供内容的时候,我们可以在一个父组件的 元素上使用 slot 特性:


  

  

A paragraph for the main content.

And another one.

Nach dem Login kopieren

接下来,使用 v-slot 指令改写上面的栗子:


  

  

A paragraph for the main content.

And another one.

Nach dem Login kopieren

使用 # 简写代替 v-slot


  

  

A paragraph for the main content.

And another one.

Nach dem Login kopieren

相关推荐:

2020年前端vue面试题大汇总(附答案)

vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程教学!!

以上是了解vue.js中的常用指令(总结)的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!