新人成长之入门Vue.js指令介绍(一)

写在前面

作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的非常简单,用起来也是非常的方便,通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合,足以应付任何规模的应用。

如果你之前已经习惯了用jQuery、JS操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM。它通过一些特殊的HTML语法,将DOM和数据绑定起来。一旦你创建了绑定,DOM将和数据保持同步,每当变更了数据,DOM也会相应地更新。

当然了,在使用Vue.js时,你也可以结合其他库一起使用,比如jQuery、JS等等。

这是我第一次在博客上对于自己的学习成长经历进行记录,先从最简单的一些基本指令记起,下面开始

Vue.js介绍

Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

Vue.js安装

我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script> 标签引入,官网链接:https://cn.vuejs.org/v2/guide/installation.html

Vue.js环境详细安装教程可参考https://blog.csdn.net/dreamzuora/article/details/78911664

声明式渲染第一个实例“helloword”

无论学习哪一种语言,第一步都会是用“helloword”打开这门语言的大门,Vue.js也是一样,看看是如何在Vue.js中输出“helloword”的。

<div id="app">
  {{ message }}
</div>

helloword声明式渲染html部分

var app = new Vue({
  el: ‘#app‘,
  data: {
    message: ‘Hello word!‘
  }
})

helloword声明式渲染JS部分

作用:简化字符串的拼接。

注意: 变化的部分使用{{}} 和Vue.js的v-text效果一样定义

常用指令总结

1.将上面helloword中的div中的内容换做input框的话,可实现双向绑定,input框中的你输入的内容与JS部分中的data中的message绑定

eg:

双向绑定v-model指令HTML部分

双向绑定v-model指令JS部分

2.v-if 条件渲染指令,根据其后表达式的bool值进行判断是否渲染该元素;

eg:

<div id="example01">
    <p v-if="male">Male</p>
    <p v-if="female">Female</p>
    <p v-if="age>25">Age:{{age}}</p>
    <p v-if="name.indexOf(‘lin‘)>0">Name:{{name}}</p>
</div>

v-if指令html部分

var vm= new Vue({
        el:"#example01",
        data:{
            male:true,
            female: false,
            age:29,
            name:‘colin‘
        }
    })

v-if指令JS部分

v-if指令只渲染他身后表达式为true的元素;在这里引入v-show指令,因为二者的区别是v-show指令会渲染他身后表达式为false的元素,这样的元素上会添加css代码:style="display:none"; 将上面v-if的实例代码改为v-show

3.v-show 与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style="display:none";

4.v-else 必须跟在v-if/v-show指令之后,不然不起作用;如果v-if/v-show指令的表达式为true,则else元素不显示;如果v-if/v-show指令的表达式为false,则else元素显示在页面上;

eg:

<div id="app">
<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
<hr>
<h1 v-show="name.indexOf(‘cool‘) = 0">Name: {{ name }}</h1>
<h1 v-else>Sex: {{ sex }}</h1>
</div>

v-else指令html部分

<script>
    var vm = new Vue({
        el: ‘#app‘,
        data: {
            age: 21,
            name: ‘keepcool‘,
            sex: ‘Male‘
        }
    })
</script>

v-else指令JS部分

5. v-for 渲染循环列表,类似JS的遍历,用法为 v-for="item in items", items是数组,item为数组中的数组元素

<div id="example03">
    <table>
        <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>position</th>
        </tr>
        </thead>
        <tbody>
        <tr v-for="person in people">
            <td>{{ person.name  }}</td>
            <td>{{ person.age  }}</td>
            <td>{{ person.position}}</td>
        </tr>
        </tbody>
    </table>
</div>

v-for指令html部分

<script>
    var vm = new Vue({
        el: ‘#example03‘,
        data: {
            people: [{
                name: ‘lebron‘,
                age: 33,
                position: ‘SF‘
            }, {
                name: ‘wade‘,
                age: 34,
                position: ‘SG‘
            }, {
                name: ‘paul‘,
                age: 32,
                position: ‘PG‘
            }, {
                name: ‘anthony‘,
                age: 34,
                position: ‘SF‘
            }]
        }
    })
</script>

v-for指令的JS部分

6.v-bind  这个指令用于响应地更新 HTML 特性,比如绑定某个表格中的数据或者某个class元素或元素的style样式。该指令也可以简写为一个“:”,

eg:

<template>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
  </template>

v-bind指令的html部分

<script>
    export default {
      data() {
        return {
          tableData: [{
            date: ‘2018-08-31‘,
            name: ‘lebron‘,
            address: ‘LA‘
          }, {
            date: ‘2018-08-31‘,
            name: ‘wade‘,
            address: ‘Miami‘
          }, {
            date: ‘2018-08-31‘,
            name: ‘paul‘,
            address: ‘Houston‘
          }, {
            date: ‘2018-08-31‘,
            name: ‘anthony‘,
            address: ‘Houston‘
          }]
        }
      }
    }
  </script>

v-bind指令JS部分

分页功能中当前页数高亮的效果,可以使用bind指令,绑定该元素的style样式

7.v-on  用于监听指定元素的DOM事件,比如点击事件。该指令可简写为“@”,以监听点击事件为例

eg:

<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
  <el-form-item
    label="年龄"
    prop="age"
   >
    <el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="submitForm(‘numberValidateForm‘)">提交</el-button>
    <el-button @click="resetForm(‘numberValidateForm‘)">重置</el-button>
  </el-form-item>
</el-form>

v-on指令HTML部分

<script>
  export default {
    data() {
      return {
        numberValidateForm: {
          age: ‘‘
        }
      };
    },
    methods: {
      submitForm(formName) {
            alert(‘submit!‘);
        });
      },
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>

v-on指令JS部分

这次是对于Vue.js中的最基本的常用指令进行总结,其实之前学习过JS和HTML的朋友,对于这方面的理解是非常快的,只不过是一些写法上面的不同,语法都会是大同小异的。

希望大家这篇博客中有什么错误的地方帮我指出来,一方面对我自己是一种进步,一方面也不会让错误的地方误导了看到这篇博客的朋友,谢谢!!!

原文地址:https://www.cnblogs.com/tanglb/p/9567154.html

时间: 2024-10-07 08:19:29

新人成长之入门Vue.js指令介绍(一)的相关文章

Vue.js指令

一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本概念 2.1.什么是Vue.js指令 指令是带有v-前缀的特殊属性:v-bind.v-bind:is.v-bind:key.v-cloak.v-else.v-else-if.v-for.v-html.v-if.v-model 2.2.Vue.js指令的用途 在表达式的值改变时,将某些行为应用到DOM

vue.js指令总结

1.v-html 用于输出真正html,而不是纯文本. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>v-html的使用</title> <script src="js/vue.js"></script> </head> <body>

快速入门Vue.js

了解一门编程语言,Hello World是我们的罗马之路. 这段代码在画面上输出"Hello World!". <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--这是我们的View--> <div id="app&quo

vue.js 指令详解

指令的作用:当表达式的值改变时把特殊的行为应用到DOM上,指令的值限定为绑定表达式(表达式加过滤器(0或多个)) 2.1.1 v-if v-if表达式值为false,对应元素从DOM中移除(相当于display:none,不占空间,最与display贴近的是下一个要介绍的元素),否则,对应元素的一个克隆将被重新插入到DOM中. <div id="example">      <p v-if="greeting">show or hide<

浅析Vue.js 中的条件渲染指令

1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> <p v-if="type===1">拌面</p> <p v-else-if="type===2">扁肉</p> <p v-else="type===3">其它</p> </div

Vue.js先入个门看看

使用vue.js原文介绍:Vue.js是一个构建数据驱动的web界面库.Vue.js的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件.vue.js上手非常简单,先看看几个例子: 例一:Helloworld html代码: <div id="app"> {{ message }} </div> js代码: new Vue({ el: '#app', data: { message: 'Hello Vue.js!' } }) 例二:双向绑定 说明:h

vue,js基础知识

Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项目整合. 1.1 Vue.js的目的 Vue.js的产生核心是为了解决如下三个问题: 解决数据绑定的问题: Vue.js框架生产的主要目的是为了开发大兴单页面应用(SPA:Single Page Application) Angular.js中对PC端支持的比较良好,但是对移动端支持就一般.而Vue.js主要支持移动端,也支持PC端. 3. 它还支持组件化.也就

一份不错的vue.js基础笔记!!!!

第一章 Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项目整合. 1.1 Vue.js的目的 Vue.js的产生核心是为了解决如下三个问题: 解决数据绑定的问题: Vue.js框架生产的主要目的是为了开发大兴单页面应用(SPA:Single Page Application) Angular.js中对PC端支持的比较良好,但是对移动端支持就一般.而Vue

Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及

Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用. 在配置环境之前呢,有些基础的东西还是要和大家普及一下的.如果你已经对Vue.js有所了解,那请点击 配置步骤  跳转到配置环境的阅读,否则,请耐心看完看完. 首先,介绍一下Vue.js的概念,他是干啥的呢?一定要配置vue的运行环境吗? 如上述Vue.js不是个全能的框架,因为他的