Vue的基本语法

本文围绕Vue页面开发展开,介绍了前置准备,需在script、style、template标签中写入相应代码。还阐述了数据绑定方式,如插值运算符、v-html、v-model等,以及属性绑定v-bind和事件绑定v-on的使用方法,包括完整语法和缩写形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前置准备

在vue页面的   script  标签中写入

export default {
        name: 'Test1',
        data () {
            return {
              key: '测试1--OK',
              ins: "<p style='color:red;'>welcome</p>",
              num1: 20,
              colorShow:'blue',
              times: '2023-06-01 23:23:23',
              msg: 'welcome to china'
            }
        }

}

在 vue页面的 style 标签中写入

    .red{
        background-color: red;
    }
    
    .blue{
        background-color: blue;
    }

在vue页面的 template 标签中写入 

<div  class='main'>   

</div>

2.插值运算符 {{ }}

vue 数据绑定最常见的形式就是使用 {{...}}(双大括号)的文本插值

比如 :在 class='main' 的  div 中 加入

<h1>{{ key }}</h1>

<h2>{{ ins }}</h2>

表示把  data 中的 key 和 ins 数据绑定到页面上。

结果如下:

注意:{{ }}  并不会考虑 html 的语法的效果 只是显示纯文本。

3. v-html  会显示 html语法对应的效果

比如:在 class='main' 的  div 中 加入

<h2 v-html="ins"></h2>

结果如下:

4. 双向绑定: v-model

修饰符.lazy


在默认情况下, v-model 在 input 事件中同步输入框的值与数据,但你可以添加一个修饰符 lazy ,从而转变为在 change 事件中同步:也就是敲 enter 键才触发改变

比如:在 class='main' 的  div 中 加入

  <div>
            <p>
                请输入:
                <textarea v-model.lazy="msg" cols="40" rows="3"></textarea>
            </p>
            <div v-html="msg"></div>
  </div>

可以让 data 中的msg 属性随着 文本的输入 改变而改变

5.v-bind用于绑定属性和数据 

v-bind用于绑定属性和数据 ,其缩写为“ : ” 也就是v-bind:id == :id

比如:在 class='main' 的  div 中 加入

<p :class="colorShow">
            数字
        </p>

表示显示 蓝色的数字 ,因为 :class="colorShow"  表示 class='blue' 

6. v-on 用于绑定触发事件

 完整事件处理语法 


  <a v-on:click="doSomething"></a>


 缩写 


 <a @click="doSomething"></a>

比如:在 class='main' 的  div 中 加入

<p> <button @click="changeBg">改变背景</button> </p>

在 script 标签中加入:

methods: { 
            changeBg(){
                if( this.colorShow == 'blue'){
                    this.colorShow = 'red';
                }else{
                    this.colorShow = 'blue';
                }
            }
        }

表示:添加一个按钮 ‘改变背景’,绑定1个鼠标单击事件,点一下变红再点一下变蓝。

### Vue.js 基本语法概述 Vue.js 是一种渐进式的 JavaScript 框架,其设计目标是帮助开发者轻松构建交互式用户界面。它通过声明式模板语法和响应式数据绑定来实现高效的前端开发。 #### 一、Vue 的核心特性 Vue 提供了一种简单而强大的方式来管理 DOM 和状态变化。以下是几个关键特性和基本语法: 1. **模板语法** 使用双大括号插值 `{{ }}` 来动态渲染页面中的文本内容[^1]。 ```html <div id="app"> {{ message }} </div> ``` 配合 JavaScript 初始化实例: ```javascript new Vue({ el: '#app', data: { message: 'Hello, Vue!' } }); ``` 2. **指令 (Directives)** Vue 提供了一系列内置指令,用于操作 DOM 属性或行为。例如 `v-bind` 可以用来动态绑定 HTML 属性[^3]。 ```html <img v-bind:src="imageSrc" alt="Dynamic Image"> ``` 数据对象定义如下: ```javascript new Vue({ el: '#app', data: { imageSrc: 'https://example.com/image.jpg' } }); ``` 3. **条件渲染** 利用 `v-if` 或 `v-show` 实现基于布尔表达式的条件显示逻辑。 ```html <p v-if="isVisible">This will only be shown when isVisible is true.</p> ``` 4. **列表渲染** 使用 `v-for` 指令可以方便地遍历数组并生成多个元素节点[^2]。 ```html <ul> <li v-for="(item, index) in items" :key="index">{{ item.name }}</li> </ul> ``` 对应的数据结构可能像这样: ```javascript new Vue({ el: '#app', data: { items: [ { name: 'Item 1' }, { name: 'Item 2' }, { name: 'Item 3' } ] } }); ``` 5. **事件处理** Vue 支持通过 `v-on` 绑定事件监听器,并调用方法或者执行内联语句。 ```html <button v-on:click="incrementCounter">Increment</button> ``` 方法可以在 Vue 实例的方法选项中定义: ```javascript methods: { incrementCounter() { this.counter++; } } ``` 6. **双向绑定** 使用 `v-model` 指令可创建表单输入与应用状态之间的双向连接。 ```html <input type="text" v-model="message"> <p>Message is: {{ message }}</p> ``` 7. **类名与样式绑定** 动态切换 CSS 类可以通过 `v-bind:class` 完成。 ```html <div :class="{ active: isActive }"></div> ``` #### 二、安装 Vue.js 要开始使用 Vue.js,可以选择以下几种方式进行引入: - CDN 方式:适合快速测试和原型开发。 ```html <script src="https://cdn.jsdelivr.net/npm/vue@2"></script> ``` - NPM 包管理工具:推荐用于生产环境下的大型项目。 ```bash npm install vue ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cssl-虞老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值