首先在html中引入vue.js,具体怎么下载可以参考https://blog.csdn.net/lvoelife/article/details/129254906,下载后在html中引入:

一 内容绑定

(1)v-text:会替换掉html的内容

eg:<p v-text="username"></p>

(2){{}}:插值表达式占位内容,放在html中

eg:<p>{{username}}</p>

(3)v-html:可将html内容渲染到页面,v-text和{{}}不支持

eg:<div v-html="username"></div>

  const vm=new Vue({
        el:"#app",
        data:{
            username:"张三",
        }
        })

二 属性绑定

注意:插值表达式不能用在属性绑定

v-bind绑定属性值,可简写为英文冒号:,当需要与字符串动态拼接时需要加单引号,否则会识别为data里的变量值

eg:

  <input type="text" v-bind:placeholder="content"/>

  <img v-bind:src="photo">

  const vm=new Vue({
        el:"#app",
        data:{
            content:"请输入名称",
            photo:"https://pic.cnblogs.com/face/2622189/20211106175104.png"
        }
        })

三 使用js表达式

eg:

  {{number+1}}

  {{ok?'yes':'no'}}

  {{message.split('').reverse().join('')}}

  <div :title="'title'+number"></div>
  const vm=new Vue({
        el:"#app",
        data:{
            number:3,
            ok:true,
            message:"wangbo"
        }
        })

四 事件绑定

v-on可简写为@
eg:

    <button v-on:click="add">+1</button>
        <button @click="sub">-1</button>
 const vm=new Vue({
        el:"#app",
        methods:{
            add(){
                alert("+1");
            },
            sub(){
                alert("+1");
            }
        }
        })

五 指令与过滤器 

常用的有以下五种,这里解释一下事件冒泡,比如父div嵌套子div都有click事件,点击子div的click事件时,先触发小div在触发大的div

eg:两种写法

(1) <a href="http://www.baidu.com" @click="show($event)">跳转到首页</a>:(不传递参数时$event可省略)
const vm=new Vue({
        el:"#app",
        data:{
        },
        methods:{
            show(e){
                e.preventDefault();
                console.log("wangbo");
            }
        }
        })

(2) <a href="http://www.baidu.com" @click.prevent="show">跳转到首页</a>

六 按键修饰符

键盘按键触发事件:

(1) <input @keyup.esc="clearInput"/>

        <input @keyup.enter="submit"/>
  const vm=new Vue({
        el:"#app",
        data:{
        },
        methods:{
            clearInput(e){
                console.log("清除");
                e.target.value="";
            },
            submit(){
                console.log("确认提交");
            }
        }
        })

七 v-model双向绑定

v-bind也可赋值但是不具备双向绑定,常用的绑定标签有input,texteare,select

指令修饰符:

.number自动将用户的输入值转为数值类型:<input type="text" v-model.number="n1"/>

.trim自动过滤用户输入的首位空白符:<input type="text" v-model.trim="username"/>

.lazy在change时而非input更新:<input type="text" v-model.lazy="username"/>

eg:

   <input type="text" v-model="username"/>
        <hr>
        <input type="text" v-bind:value="username"/>
        <hr>
        <select v-model="option">
            <option>请选择</option>
            <option value="1">联强国际</option>
            <option value="2">华为</option>
            <option value="3">启明</option>
        </select>
        <hr>
        <input type="text" v-model.number="n1"/>+
        <input type="text" v-model.number="n2"/>=
        <span>{{n1+n2}}</span>
        <hr>
        <input type="text" v-model.trim="username"/>
        <hr>
        <input type="text" v-model.lazy="username"/>
  const vm=new Vue({
          el:"#app",
          data:{
              username:"张三",
              option:"2",
              n1:1,
              n2:2
          }
          })

八 条件渲染指令

v-if动态创建或移除元素,初始状态不需要展示并且后期也可能不展示使用

v-show添加display=none的属性值,频繁切换时使用

eg:

      <p v-if="flag">v-if控制</p>
        <p v-show="flag">v-show控制</p>

九 列表渲染指令

v-for,使用item in items形式的特殊语法,也可带上索引(item,index) in items,注意item,index都是形参,可根据需要重新命名

key的注意事项:

1只能是数字或者字符串

2必须具有唯一性

3建议用id作为key

4使用索引index作为key没有意义,不具有唯一性

5建议使用v-for一定要指定key的值(既提升性能,又防止列表状态紊乱)

eg:

<table>
               <thead>
                    <tr>
                        <th>id</th>
                        <th>姓名</th>
                    </tr>
               </thead>
                <tbody>
                    <tr v-for="item in userList" :key="item.id">
                    <td>{{item.id}}</td>
                    <td>{{item.name}}</td>
                    </tr>
                </tbody>
        </table>
const vm=new Vue({
        el:"#app",
        data:{
            userList:[
                {"id":1,"name":"张三"},
                {"id":2,"name":"李四"}
            ]
        }
 

vue常用标签(引入vue.js写法)的更多相关文章

  1. script标签引入vue方式开发如何写组件

    title: script标签引入vue方式开发如何写组件 date: 2020-05-08 sidebarDepth: 2 tags: vue 组件 script 标签 categories: vu ...

  2. Vue 中如何引入第三方 JS 库

    一绝对路径直接引入全局可用 二绝对路径直接引入配置后import 引入后再使用 三webpack中配置 aliasimport 引入后再使用 四webpack 中配置 plugins无需 import ...

  3. vue文件中引入外部js

    1.在项目的入口文件中(app.js)定义remoteScript标签 Vue.component('remote-script', { render: function (createElement ...

  4. vue组件如何引入外部.js/.css/.scss文件

    可在相应的单vue组件引入相应文件. 1.引入外部.js文件. 2.引入外部.css文件. 使用@import引入外部css,作用域是全局的,也可在相应的单vue组件引入,import并不是引入代码到 ...

  5. vue组件内部引入远程js文件

    之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位.如果放在index.html,这样每个组件都会有这个js.所以需要在组件内单独引入. 第一种操作 Dom引入js: export def ...

  6. Vue文件中引入img 路径写法

    把图片路径写在data里面,然后渲染模板的两种方式 方案1.在data使用require将图片进入,写法如下 logo: require('../asset/admin/logo.png')  在模板 ...

  7. vue项目从引入vue.js 改为使用vue-cil (webpack)时修改的一些内容

    在元素属性中不要写js关键字,会报使用关键字的错如@click='if(){}else{}', if-else 语句可以使用三元表达式或短路运算符来实现 v-for 不写:key  会有警告 ,使用: ...

  8. vue如何写组件(script标签引入的方式)

    很多人知道.vue结构的单文件组件形式,不过这种单文件组件的结构如果要加入到现有的jquery项目中就比较麻烦了,那如果我们又想用vue来写模板,又不想引入vue-cli管理,那该怎么来写组件呢?别着 ...

  9. vue页面引入外部js文件遇到的问题

    问题一:vue文件中引入外部js文件的方法 //在vue文件中 <script> import * as funApi from '../../../publicJavaScript/pu ...

  10. vue学习(二)Vue常用指令

    2 Vue常用指令 1. vue的使用要从创建Vue对象开始 var vm = new Vue(); 2. 创建vue对象的时候,需要传递参数,是json对象,json对象对象必须至少有两个属性成员 ...

随机推荐

  1. 关于ADB命令工具

    android提供了不少命令行工具,方便我们调试和查看信息.下面是frameworks/base/cmds(android 6.0.1)中的命令. $ tree cmds -L 1 cmds am├─ ...

  2. PASS模型需求分析和原型设计

    班级网址 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus/zjcsxy/SE2020/ ...

  3. PT的常用命令

    归纳常用的PT命令,便于工作中应用. 1. 报时序的命令 report_timing -from A -to  [get_clocks {clkA}]  -delay_type min report_ ...

  4. linux软件安装篇

    nginx篇 第一件事情 cd /etc/yum.repo.d mv CentOS-Base.repo CentOS-Base.repo.bak wget -O CentOS-Base.repo ht ...

  5. Linux 复制时排除某文件/目录

    如果要排除/home/data目录下面的a.b.c.三个目录,同时拷贝其它所有目录,执行rsync命令yum install rsync -y #安装rsync 排除单个文件/目录rsync -avP ...

  6. 实验4_开源控制器实践——OpenDaylight

    基础要求 需要提交两张图, 一是Mininet拓扑生成并连接控制器的结果 二是Mininet中ping测试截图,并体现个人信息 进阶要求 1.获取拓扑的交换机 2.获取流表状态数量 3.获取指定交换机 ...

  7. Neo4j学习(1)--安装

    1.访问官网,下载Community版本,注意在下载页面已经提示了登录时的默认用户名和密码neo4j/neo4j.我使用的版本为3.4.10,jdk要求为java8 2.安装Windows版本,最好参 ...

  8. 在CentOS中安装Docker

    概述 Docker是一款使用Golang开发的开源容器引擎,我们可以使用Docker将自己的应用和相关依赖进行打包,实现在不同服务器上进行快速部署,而不需要再更多关注部署环境的差异性.结合kubern ...

  9. 微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发

    一.前言 大家好,我是六哥! 又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的. 其实不是我不积极,而是相对更文学习来说,优先级不是最高. 对我而言,目前最重要 ...

  10. https加密过程!!! 这才是差不多非常详细的https双方获取共用的秘钥过程!!!!!

    前言 先说看了一天各种博客让我恶心的地方,恶心死了,发现每个人说的第一次发送的内容,数字证书里面包含啥,都有各种不一样!到了最后忽然想起来直接搜着报文就行了. 比如这个博客LS/SSL 协议详解 (9 ...