vue项目中快捷语法糖

1.Vue.js是渐进式框架,采用自底向上增量开发的设计基于MVVM思想。
2.Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
3.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
4.指令带有前缀 v-,以表示它们是 Vue.js 提供的特殊属性。
5.站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。
6.请只对可信内容使用 HTML 插值,绝不要对用户提供的内容插值。
7.当一个 ViewModel 被销毁时,所有的事件处理器都会自动被删除
-------------------------------------------------------------------------------
Vue.set(object, key, value) //动态响应的数据;
如:this.$set(this.someObject,‘b‘,2)
    Vue.set(vm.someObject, ‘b‘, 2)
-------------------------------------------------------------------------------
向已有对象上添加一些属性:
使用 Object.assign() 或 _.extend() 方法来添加属性,但是添加到对象上的新属性不会触发更新;
// 代替 `Object.assign(this.someObject, { a: 1, b: 2 })`
this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })
-------------------------------------------------------------------------------
<form v-on:submit.stop="onSubmit"></form> //阻止事件冒泡
<form v-on:submit.prevent="onSubmit"></form> //阻止默认行为
<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联  -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件侦听器时使用时间捕获模式 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div>
<!-- 键盘事件,按键修饰符 -->
<input v-on:keyup.13="submit">
可以通过全局 config.keyCodes 对象自定义按键修饰符别名:
Vue.config.keyCodes.f1 = 112(可以使用 v-on:keyup.f1)
-------------------------------------------------------------------------------
computed和methods的区别;
计算属性是基于它的依赖缓存,计算属性只有在它的相关依赖发生改变时才会重新取值。这就意味着只要 message 没有发生改变,多次访问 reversedMessage计算属性会立即返回之前的计算结果,而不必再次执行函数。
而methods需要每次执行;如果你不希望有缓存,请用 method 替代。
-------------------------------------------------------------------------------
<input v-model.number="age" type="number"> //自动将用户的输入值转为 Number 类型
<input v-model.trim="msg">  //去空格处理,免去校验
<input v-model.lazy="msg" > //v-model 在 input 事件中同步输入框的值与数据,转变为在 change 事件中同步
-------------------------------------------------------------------------------
一般来说, v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。
因此,如果需要频繁切换使用 v-show 较好,如果在运行时条件不大可能改变则使用 v-if 较好。
-------------------------------------------------------------------------------
父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息。
支持传值类型;
type 可以是下面原生构造器:
? String
? Number
? Boolean
? Function
? Object
? Array
type 也可以是一个自定义构造器,使用 instanceof 检测。
使用 $on(eventName) 监听事件
使用 $emit(eventName) 触发事件
父组件可以在使用子组件的地方直接用 v-on 来监听子组件触发的事件
在某个组件的根元素上监听一个原生事件:
my-component v-on:click.native="doTheThing"></my-component>
自定义事件也可以用来创建自定义的表单输入组件,使用 v-model 来进行数据双向绑定。牢记,表单控件进行数据绑定时的语法:
<input v-bind:value="something" v-on:input="something = $event.target.value">
-------------------------------------------------------------------------------
有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的 Vue 实例作为中央事件总线:
var bus = new Vue()

// 触发组件 A 中的事件
bus.$emit(‘id-selected‘, 1)

// 在组件 B 创建的钩子中监听事件
bus.$on(‘id-selected‘, function (id) {
// ...
})
在更多复杂的情况下,你应该考虑使用专门的 状态管理模式vuex(建议用此方法管理数据状态变化).
-------------------------------------------------------------------------------
如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染
<keep-alive>
    <component :is="currentView">
    <!-- 非活动组件将被缓存! -->
    </component>
</keep-alive>
动态组件用is绑定:多个组件可以使用同一个挂载点,然后动态地在它们之间切换
1.ref 是一个数组或对象,包含相应的子组件。
2.$refs 只在组件渲染完成后才填充,并且它是非响应式的,应当避免在模版或计算属性中使用 $refs 。

原文地址:https://www.cnblogs.com/lhl66/p/8608433.html

时间: 2024-10-09 21:55:03

vue项目中快捷语法糖的相关文章

Vue项目中ESlint语法报错问题的处理方法

首先在项目根目录创建一个名叫.prettierrc的格式化配置项文件,文件内的格式为json格式. semi: falae 为true 格式化在行尾加分号,false不加分号 singleQuote: true 为true表示格式化以单引号为主 { "semi": false, "singleQuote": true } 禁用某项eslint规则: 在项目目录打开 .eslintrc.js 文件 在rules对象添加报错的属性,并设置为0,表示禁用该项. 一般在报错

前端框架Vue.js——vue-i18n ,vue项目中如何实现国际化

每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 一.前言 趁着10月的最后一天,来写一篇关于前端国际化的实践型博客.国际化应该都不陌生,就是一个网站.应用可以实现语言的切换. 在这就不谈原理,只说说如何实现中英文的切换.做技术的总得先把 demo 做出来嘛. 二.demo 场景需求分析 需求很简单,左上角 ''网易云音乐''就是一个中英文切换的按钮,点击弹出提示框,确认切换语言后,实现英文版本. 切换成英文版本: 三.实现国际化

JVM(二):Java中的语法糖

JVM(二):Java中的语法糖 上文讲到在语义分析中会对Java中的语法糖进行解糖操作,因此本文就主要讲述一下Java中有哪些语法糖,每个语法糖在解糖过后的原始代码,以及这些语法糖背后的逻辑. 语法糖 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用.通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会.

Vue项目中 App.vue文件

在App.vue文件中,定义了一个id为app的div,在这个div板块中放置Helloworld组件,文件内容如下图所示: 在整个vue文件中,分为三部分内容, 第一部分是<template></template>包含的HTML页面内容 ,开发人员可以在这里设计页面展现的内容,并通过vue的一些语法加以控制, 比如v-if  .v-for  等等: 第二部分是<script></script>包含的页面逻辑的实现函数,关于这部分内容,后续会有详细的讲解,此

在VUE项目中使用SCSS

这篇文章是记录的在VUE项目中SCSS的使用 vue项目上安装SCSS和开发入门 ① 使用vue-cli模板创建新项目:vue init webpack myvue ② 安装sass 依赖包 ,在cmd界面输入: npm  install sass-loader --save-devnpm install node-sass --sava-dev ③ 在build文件夹下的webpack.base.conf.js的rules里面添加配置 {test: /\.scss$/,loaders: ['s

Vue 项目中使用 jsPlumb

jsPlumb 介绍 jsPlumb 是一个强大的 JavaScript 连线库,它可以将 html中 的元素用箭头.曲线.直线等连接起来,适用于开发 Web 上的图表.建模工具.流程图.关系图等. jsPlumb 参考网站 博客园:http://www.cnblogs.com/leomYili/p/6346526.html?utm_source=itdadao&utm_medium=referral 官网:https://www.jsplumbtoolkit.com/ 安装 jsPlumb v

vue项目中使用阿里iconfont图标

在上一篇文章中介绍了如何在vue项目中使用vue-awesome,如果你想了解,请移步<vue项目中使用vue-awesome> 这里介绍一下vue项目中如何使用阿里的iconfont图标库,先看一下官网 可以看到有将近两百万的图标量,可以说我们想要的矢量图图标这里大部分都是有的,下面直接开始如何在vue项目中使用,方法有两种 方法一:简单粗暴法 1.打开 iconFont官网 选择自己喜欢的图标,并且添加购物车 例如我现在选择三个图标 点击购物车,添加至项目 为了方便可以给项目起一个名字 选

如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html  原文网址 如何在Vue项目中使用vw实现移动端适配 作者:大漠 日期:2018-01-25 点击:10362 vw Layout 布局 Vue mobile 编辑推荐:使用 Coding.net 搭建静态博客,自定义域名,全站 HTTPS 加密,自动实时部署, 立即托管您的网站! 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页

在vue项目中 如何定义全局变量 全局函数

如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数 定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可. 全局变量模块文件: Global.vue文件: <script> const serverSr