VUE01_基本使用、插值表达式、指令、事件绑定、分支循环结构(二)

简介: ④. 事件绑定①. v-on:click②. v-bind属性绑定

④. 事件绑定


①. v-on:click


①. <input type=‘button’ v-on:click=‘num++’/>

<input type=‘button’ @click=‘num++’/> (简写)


②. 如果事件直接绑定函数名称,那么默认会传递事件对象作为第一个参数(handle)


③. 如果事件绑定函数调用,事件对象必须作为最后一个参数显示传递,并且事件对象名称必须是固定的$event(handle( ))


④. 代码演示


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div v-text="msg"></div>
        <!--直接绑定函数名称
        如果事件直接绑定函数名称,那么默认会传递事件对象作为第一个参数
        如果事件绑定函数调用,事件对象必须作为最后一个参数显示传递,并且事件对象名称必须是固定的$event
        -->
        <button v-on:click="handle">按钮1</button>
        <!--调用函数  -->
        <button @click="handle()">按钮2</button>
        <!--最后一个参数是envent -->
        <button @click="handleParam(123,$event)">带参数的方法</button>
    </div>
    <script src="../js/vue.js"></script>
    <script>
    var vm=new Vue({
            el:'#app',
            data:{    
                msg:'1' 
            },
            methods:{
                //这里的event可以不写
                handle:function(event){
                 alert(event.target.tagName);
                },
                handleParam:function(p,event){
                  console.log(p);
                  console.log(event.target.tagName);//button
                  console.log(event.target.innerHTML);//带参数的方法
                }
            }
    });
    </script>
</body>
</html>


②. v-bind属性绑定


  • ①.以下两种写法等价:


 <a v-bind:href='url'>跳转</a>
 <a :href='url'>跳转</a>


②. 字符串拼接

所以,要想在v-bind指令中使用字符串拼接,只需要结合引号即可


  <span :text=' "we" + 1 '>使用</span>
  会渲染成:
  <span text='we1'>使用</span>


③. 运算


  <div :text='1 + 2'>test</div>
  渲染成:
  <div text="3">test</div>


④. 调用函数


   <div :text='getText()'>test</div>
   ......
   <script>
  export default {
    methods: {
      getText() {
        return "this is text"
      }
    }
  }
  </script>
  渲染成:
  <div text="this is text">test</div>


⑤. 使用对象


  <template>
    <div class="hello">
      <div :text='obj'>test</div>
    </div>
  </template>
  <script>
  export default {
    name: 'HelloWorld',
    data () {
      return {
        obj: Object()
      }
    }
  }
  </script>
  结果为:
  <div text="[object Object]">test</div>
  如果对象有toString方法:
  <template>
    <div class="hello">
      <div :text='obj'>test</div>
    </div>
  </template>
  <script>
  var obj = Object()
  obj.toString = function(){
    return "data in obj"
  }
  export default {
    name: 'HelloWorld',
    data () {
      return {
        obj: obj
      }
    }
  }
  </script>
  则渲染的是toString方法的值:
  <div text="data in obj">test</div>


⑥. 使用数组


  <template>
    <div class="hello">
      <div :text='array'>test</div>
    </div>
  </template>
  <script>
  var array = Array()
  array[0] = "1"
  array[1] = "2"
  export default {
    name: 'HelloWorld',
    data () {
      return {
        array: array
      }
    }
  }
  </script>
  渲染为:
  <div text="1,2">test</div>


⑦. 动态绑定class或者style中是否存在


微信图片_20220106151112.png

相关文章
|
5天前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
|
16天前
|
JavaScript 开发者
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
【10月更文挑战第8天】vue指令的开发看这篇文章就够了!超详细,赶快收藏!
vue指令的开发看这篇文章就够了!超详细,赶快收藏!
|
18天前
|
JavaScript 前端开发
VUE学习三:双向绑定指令(v-mode)、组件化开发(全局组件/局部组卷/组件通信)、组件化高级(slot插槽使用)
这篇文章是关于Vue.js框架中的v-model指令和组件化开发的详细教程,涵盖了从基础使用到高级功能的多个方面。
26 1
|
18天前
|
JavaScript 前端开发 开发者
VUE学习一:初识VUE、指令、动态绑定、计算属性
这篇文章主要介绍了Vue.js的基础知识,包括初识Vue、指令如v-for、v-on的使用、动态属性绑定(v-bind)、计算属性等概念与实践示例。
49 1
|
2月前
|
JavaScript 前端开发
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
|
2月前
|
JavaScript 前端开发 API
Vue学习笔记7:使用v-for指令渲染列表
Vue学习笔记7:使用v-for指令渲染列表
|
13天前
|
人工智能 JavaScript 程序员
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
57 0
|
13天前
|
JavaScript 算法 前端开发
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍
10 0
|
3月前
|
JavaScript
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
这篇文章介绍了如何在Vue 2或Vue 3项目中实现一个自定义的全局指令`v-dragSwitch`,用于创建可以任意方向拖拽并悬浮的元素,同时包含边界处理的逻辑。
849 2
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
|
3月前
|
JavaScript 前端开发 安全
svg图片hover变色,居然只用一个vue指令就可以搞定!千万别在写两个控制显影了!
【8月更文挑战第22天】svg图片hover变色,居然只用一个vue指令就可以搞定!千万别在写两个控制显影了!
279 3