Vue2基本指令的学习 v-test v-html

简介: 从基础到实战,我们一环都不要少!

基础语法

v-text

使用 v-text 输出

代码示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>v-text</title>
</head>

<body>
    <div id="app">
        <!-- 使用插值输出 -->
        <h1>{
  
  {msg}}</h1>
        <!-- 使用指令 v-text 输出 -->
        <h1 v-text="msg"></h1>
    </div>
    <script>
        let app = new Vue({
    
    
            el: "#app",
            data: {
    
    
                msg: "Hello Vue"
            }
        })
    </script>
</body>

</html>

思考 插值语法输出v-text输出 有什么区别 ?

{ {msg}} 插值语法是是需要等待 Vue 实例创建出来,才会进行值的插入(也即渲染页面),所以当 Vue 实例还没创建出来的时候 页面效果是展示{ {msg}}

v-text 指令语法也是需要等待 Vue 实例创建出来,指令才会生效,但若使用指令的标签中没有内容的话,那么页面是什么都不会显示的,当Vue实例创建完成,就会将值插入标签,进行页面渲染。

代码示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>指令语法v-text与插值语法的区别</title>
    <script src="vue.js"></script>
</head>

<body bgcolor="pink">
    <div id="app">
        <h1>{
  
  {msg}}</h1>
        <h2 v-text="msg"> 请稍等.... </h2>
    </div>
    <script>
        setInterval(() => {
    
    
            let app = new Vue({
    
    
                el: "#app",
                data: {
    
    
                    msg: "Hello Vue",
                }
            })
        }, 4000)
    </script>
</body>

</html>

效果图示

za
image.png

v-html

指令语法 v-html,可以解析html标签

代码示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>v-html</title>
    <script src="vue.js"></script>
</head>

<body bgcolor="pink">
    <div id="app">
        <div>{
  
  { richText }}</div>
        <div v-text="richText"></div>
        <div v-html="richText"></div>
    </div>
    <script>
        let app = new Vue({
    
    
            el: "#app",
            data: {
    
    
                richText: '<div><h1>v-html</h1><p>可以解析我们吗?</p></div>'
            }
        })
    </script>
</body>

</html>

效果图示

image.png

如何用呢

场景 1

文本展示:对于需要直接显示文本内容的场景,可以使用 v-text。例如,在一个产品列表中,每个产品都有一个描述字段,你可以使用 v-text 来展示该字段的内容。

<div v-for="product in productList">
  <p v-text="product.description"></p>
</div>

场景 2

文本展示:对于需要直接显示文本内容的场景,可以使用 v-text。例如,在一个产品列表中,每个产品都有一个描述字段,你可以使用 v-text 来展示该字段的内容。

<div v-html="articleContent"></div>

场景 3

前端渲染模板:有时候你可能需要根据特定的条件动态生成一些 HTML 内容,这时可以使用 v-html 结合计算属性或方法来实现前端渲染。

<div v-html="renderTemplate"></div>

computed: {
   
   
  renderTemplate() {
   
   
    if (this.condition) {
   
   
      return '<p>条件为真时的模板</p>';
    } else {
   
   
      return '<p>条件为假时的模板</p>';
    }
  }
}

通过计算属性 renderTemplate 返回一段 HTML 字符串,并使用 v-html 把它渲染到页面上。

需要注意的是,在使用 v-html 指令时,要确保数据是可信的,并避免使用用户输入的内容来显示或渲染 HTML。这是为了防止潜在的安全风险和 XSS 攻击。

当涉及复杂逻辑时可以与其它搭配使用

条件渲染:使用 v-if 或 v-show 指令根据条件来渲染特定的内容。

<div v-if="isUserLoggedIn">
  <p>Welcome, {
  
  {userName}}!</p>
</div>
<div v-else>
  <p>Please log in to continue.</p>
</div>

列表渲染:使用 v-for 指令在列表数据上进行循环渲染。

<ul>
  <li v-for="item in items" :key="item.id">{
  
  { item.name }}</li>
</ul>

表单处理:使用 v-model 指令双向绑定表单元素的值,并结合表单验证逻辑。

<input type="text" v-model="username" required>
<button @click="submitForm">Submit</button>
javascript
methods: {
  submitForm() {
    if (validFormData(this.username)) {
      // 处理表单提交逻辑
    }
  }
}

事件处理:使用 v-on 或简写的 @ 指令来处理用户交互事件,并执行相应的逻辑。

<button @click="handleButtonClick">Click me</button>
javascript
methods: {
  handleButtonClick() {
    // 处理按钮点击逻辑
  }
}

复杂的业务逻辑通常需要结合更多的 Vue 功能和特性,如计算属性、侦听器、自定义指令、组件等。根据具体的需求和场景,选择合适的功能和指令来实现复杂逻辑。


谢谢款待

目录
相关文章
|
3月前
|
JavaScript 前端开发 安全
vue -- 指令 -- v-text/html/on/show/if/bind/for/model
【10月更文挑战第17天】Vue 指令是构建 Vue 应用的基础工具,掌握它们的特性和用法是成为一名优秀 Vue 开发者的重要一步。通过深入理解和熟练运用这些指令,可以打造出更加出色的前端应用。
81 50
|
3月前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
|
3月前
|
人工智能
|
3月前
|
JavaScript 开发者
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
【10月更文挑战第8天】vue指令的开发看这篇文章就够了!超详细,赶快收藏!
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
|
3月前
|
JavaScript 前端开发
VUE学习三:双向绑定指令(v-mode)、组件化开发(全局组件/局部组卷/组件通信)、组件化高级(slot插槽使用)
这篇文章是关于Vue.js框架中的v-model指令和组件化开发的详细教程,涵盖了从基础使用到高级功能的多个方面。
38 1
|
3月前
|
JavaScript 前端开发 开发者
VUE学习一:初识VUE、指令、动态绑定、计算属性
这篇文章主要介绍了Vue.js的基础知识,包括初识Vue、指令如v-for、v-on的使用、动态属性绑定(v-bind)、计算属性等概念与实践示例。
67 1
|
3月前
|
人工智能 JavaScript 程序员
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
332 0
|
3月前
|
JavaScript 算法 前端开发
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
33 0
|
3月前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
272 0
|
3月前
html基础知识学习
html基础知识学习
39 0

热门文章

最新文章