Vue2中常用的属性和方法:

属性

  • el:用于指定Vue实例挂载的元素,可以是CSS选择器、HTML元素或Vue组件。
  • data:用于存储Vue实例的响应式数据,也可以是一个函数,返回一个对象,用于提供数据的初始化值。
  • computed:用于计算和返回基于Vue实例数据的派生属性,具有缓存功能。
  • watch:用于监听Vue实例的数据变化,执行相应的操作。
  • methods:用于定义Vue实例的方法,可以在模板中绑定事件使用。
  • props:用于接收父组件传递的数据,用于实现组件之间的通信。
  • components:用于定义全局或局部的Vue组件。
  • filters:用于定义Vue实例的过滤器,用于格式化文本、数字等数据。
  • template:用于指定 Vue 组件的模板,可以是一个字符串模板,也可以是一个 DOM 元素,甚至可以是一个 Vue 组件。

  • computed:计算属性对象,可以根据已有的数据计算出新的数据属性,与 data 数据属性不同的是,computed 属性是只读的。

  • directives:用于自定义指令,可以在 HTML 元素上添加自定义行为,如 v-focus 等。

  • mounted:Vue 实例挂载到 DOM 后自动调用的钩子函数,可以在该函数中进行 DOM 操作。

  • created:Vue 实例创建时自动调用的钩子函数,可以在该函数中进行一些初始化操作。

方法

  • $mount:手动挂载Vue实例,通常在使用Vue时不需要手动调用,Vue会自动调用该方法。
  • $watch:手动创建一个数据监听器,可以监听数据变化并执行相应的操作。
  • $nextTick:在DOM更新队列为空时调用指定的回调函数,通常用于在DOM更新后执行某些操作。
  • $emit:用于在Vue实例中触发自定义事件,并向父组件或子组件传递数据。
  • $on:用于在Vue实例中监听自定义事件,并执行相应的操作。
  • $set:用于给Vue实例动态添加响应式属性,通常用于在组件中动态添加数据。
  • $delete:用于删除Vue实例的响应式属性,通常用于在组件中删除数据。
  • $emit(event, [args]):触发当前组件的指定事件,并传递参数 args 给回调函数。

  • $on(event, callback):监听当前组件的指定事件,并注册回调函数 callback。

  • $nextTick(callback):在 DOM 更新后执行回调函数 callback。

  • $refs:用于访问组件中的子组件或 DOM 元素。

  • $set(object, key, value):用于给 Vue 数据对象中的属性设置新值。

  • $watch:监听数据变化并执行相应的回调函数。

  • $mount(el):手动挂载 Vue 组件到指定的 DOM 元素上。

  • $destroy():手动销毁 Vue 组件。

以下是一个简单的 Vue 示例,包括一些常用属性和方法,并做了注释:

<!-- index.html -->
<template>
<div>
<h1>{{ message }}</h1>
<input v-model="inputText" v-focus>
<p>computed property: {{ computedProp }}</p>
<button @click="incrementCounter">{{ counter }}</button>
<child-component :child-message="message" @child-event="handleChildEvent"></child-component>
</div>
</template> <script>
// 定义子组件
Vue.component('child-component', {
props: ['childMessage'],
template: '<div>{{ childMessage }} <button @click="$emit(\'child-event\')">emit child event</button></div>'
}); export default {
data() {
return {
message: 'Hello, Vue!',
inputText: '',
counter: 0
}
},
computed: {
computedProp() {
return this.message.toUpperCase();
}
},
directives: {
focus: {
inserted: function (el) {
el.focus();
}
}
},
mounted() {
console.log('mounted');
},
created() {
console.log('created');
},
methods: {
incrementCounter() {
this.counter++;
},
handleChildEvent() {
console.log('child event emitted');
}
}
};
</script>

在这个示例中,我们使用了 <template> 标签来定义视图模板,使用了 <script> 标签来定义 Vue 实例的选项对象。其中:

  • data 属性返回一个包含 message、inputText 和 counter 三个响应式数据属性的对象;
  • computed 属性返回一个包含 computedProp 计算属性的对象,用于根据 message 计算出一个新的数据属性;
  • directives 属性包含了一个自定义指令 v-focus,用于使输入框自动获取焦点;
  • mounted 和 created 钩子函数,分别在 Vue 实例挂载到 DOM 后和创建时自动调用;
  • methods 属性包含了 incrementCounter 和 handleChildEvent 两个方法,分别用于更新计数器和处理子组件的自定义事件;
  • 子组件 child-component,包含了一个 childMessage 属性和一个自定义事件 child-event。

在模板中,我们使用了 {{ message }} 和 v-model 指令来绑定数据属性 message 和 inputText,使用了 v-focus 自定义指令来使输入框自动获取焦点,使用了 computedProp 来显示计算后的数据属性值,使用了 @click 和 @child-event 来监听按钮点击和子组件的自定义事件。

vue全家桶进阶之路14:常用属性和方法的更多相关文章

  1. Vue 全家桶 + Electron 开发的一个跨三端的应用

    代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...

  2. 升级vue全家桶过程记录

    背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...

  3. Vue全家桶高仿小米商城

    大家好,我是河畔一角,时隔半年再次给大家带来一门重量级的实战课程:<Vue全家桶高仿小米商城>,现在很多公司都在参与到商城的构建体系当中,因此掌握一套商城的标准开发体系非常重要:商城的开始 ...

  4. vue证明题一,vue全家桶的构成

    简单说下vue的构成,当然是简单为主,网上这东西满天飞,简单说几句就ok 1.vue是什么 vue读作view,是一种js框架.只关注于视图层,操作内容包括js,html,css 2.vue全家桶是什 ...

  5. 用 Vue 全家桶二次开发 V2EX 社区

    一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...

  6. Vue全家桶

    简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...

  7. 从零开始系列之vue全家桶(3)安装使用vuex

    什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...

  8. 使用vue全家桶制作博客网站

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...

  9. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程

    使用vue全家桶制作博客网站   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...

  10. Vue全家桶介绍

    一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...

随机推荐

  1. [转]常见的视频编码详解 Cinepak Codec by Radius

    AVI所采用的压缩算法并无统一的标准.也就是说,同样是以AVI为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压软件才能识别和回放该AVI文件.除了Microsoft公司之外,其他公司也推出了 ...

  2. fatal: unable to access ' ' OpenSSL SSL_read: Connection was reset, errno 10054

    描述: git clone ...时报错 fatal: unable to access 'https://github.com/github-eliviate/papers.git/': OpenS ...

  3. Day05笔记

    01.数组类(了解) 1.目的:设计一个类,该类有数组的功能,可以存储数据,可以删除修改数据 2.设计核心数据 1.属性:指针(指向堆区空间),数组实际存储的元素个数,数组容量 2.方法:构造(开辟堆 ...

  4. CSP2022-S游寄

    游寄游寄,顾名思义,边游边寄 11.00AM 起床 复习了一下各种终端命令,然后又复习了一下对拍 虽然都没用到 然后接着睡. 有点小紧张,毕竟一年没搞OI 12.00AM 今天吃河虾 还行,只是有点扎 ...

  5. 自己动手从零写桌面操作系统GrapeOS系列教程——18.外设和IO

    学习操作系统原理最好的方法是自己写一个简单的操作系统. 一.外设和I/O接口 前面我们介绍过冯·诺依曼结构包含5部分,其中输入设备和输出设备统称为外部设备,简称外设.常见的外设有鼠标.键盘.显示器.硬 ...

  6. 小心golang中的无类型常量

    对于无类型常量,可能大家是第一次听说,但这篇我就不放进拾遗系列里了. 因为虽然名字很陌生,但我们每天都在用,每天都有无数潜在的坑被埋下.包括我本人也犯过同样的错误,当时代码已经合并并发布了,当我意识到 ...

  7. 简单入门echart方法

    图表用echart, 然后前端的 HTML 跟 nodejs  , nodejs 去调用 后端PHP的接口 链接:https://www.jianshu.com/p/1f2c37c5c02f 官网:h ...

  8. VUE3.x之Proxy 我们为什么要使用Proxy

    Object.defineProperty 劫持数据 只是对对象的属性进行劫持 无法监听新增属性和删除属性 需要使用 vue.set, vue.delete 深层对象的劫持需要一次性递归 劫持数组时需 ...

  9. JAVA网络编程样例

    这篇文章主要用来总结Java在网络编程中的知识点 下面是一个Java客户端与服务端通信的样例程序 //Server public class Server { public static void m ...

  10. pysimplegui之第一个程序,包括回调函数,事件,阻塞等待内容

    自定义窗口 API 调用(您的第一个窗口) 总结一下:我遇到的坑, 比如拿输入框的内容的时候可以直接通过value[key] 几种窗口模式就是什么时候用timeout这个参数 关闭窗口可以的一边形式 ...