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 功能和特性,如计算属性、侦听器、自定义指令、组件等。根据具体的需求和场景,选择合适的功能和指令来实现复杂逻辑。


谢谢款待

目录
相关文章
|
8月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
248 15
|
7月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
8月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的多种方法与组件封装技巧,涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动DOM操作及动态创建组件实例等内容。同时提供了性能优化建议,如批量更新DOM、使用v-show代替v-if以及懒加载大型组件等。通过合理封装组件,可提高代码复用性和维护性。文中还附有具体示例代码,帮助开发者更好地理解和应用相关技术。适用于前端开发人员学习和实践Vue动态元素处理与组件设计。
209 19
|
7月前
|
JavaScript API 开发者
Vue框架中常见指令的应用概述。
通过以上的详细解析,你应该已经初窥Vue.js的指令的威力了。它们是Vue声明式编程模型的核心之一,无论是构建简单的静态网站还是复杂的单页面应用,你都会经常用到。记住,尽管Vue提供了大量预定义的指令,你还可以创建自定义指令以满足特定的需求。为你的Vue应用程序加上这些功能增强器,让编码变得更轻松、更愉快吧!
150 1
|
8月前
|
缓存 JavaScript 前端开发
Vue 项目中动态添加 HTML 元素的方法与实践
本文探讨了 Vue 中动态添加 HTML 元素的多种技术方案,包括条件渲染(v-if/v-show)、动态组件(component :is)、手动挂载($mount)及 Vuex 状态管理等方法。通过实例分析,如动态表单生成器与全局模态框服务,展示了这些方案在实际开发中的应用。同时提供了性能优化建议和注意事项,帮助开发者根据需求选择最佳方式,在保持 Vue 响应式特性的同时实现灵活交互。附带代码示例,便于理解和实践。
243 2
|
7月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
JavaScript 前端开发 安全
vue -- 指令 -- v-text/html/on/show/if/bind/for/model
【10月更文挑战第17天】Vue 指令是构建 Vue 应用的基础工具,掌握它们的特性和用法是成为一名优秀 Vue 开发者的重要一步。通过深入理解和熟练运用这些指令,可以打造出更加出色的前端应用。
198 50
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
193 16
|
人工智能 JavaScript 程序员
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
1704 0

热门文章

最新文章