热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vue仿二手交易app_vue全家桶仿去哪app

vue学习vue起步Vue.js是什么一套用于构建用户界面的渐进式框架(主张少,没有多做职责之外的事,在开发过程中来按需引入功能,不是一次



vue学习


vue起步


Vue.js 是什么


一套用于构建用户界面的渐进式框架(主张少,没有多做职责之外的事,在开发过程中来按需引入功能,不是一次性都放进来的,有点类似于迭代开发。)与其他框架不同的是,vue被设计成自底向上逐层应用,vue的核心库只关心视图层,易上手也便于与第三方库或既有项目整合


当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。


声明式渲染


数据和 DOM 已经被建立了关联,所有东西都是响应式的


条件与循环


不仅可以把数据绑定到 DOM 文本或 attribute,还可以绑定到 DOM 结构


处理用户输入


v-on事件绑定


组件化应用构建


组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树


与自定义元素的关系


Web Components 规范已经完成并通过,但未被所有浏览器原生实现。目前 Safari 10.1+、Chrome 54+ 和 Firefox 63+ 原生支持 Web Components。相比之下,Vue 组件不需要任何 polyfill,并且在所有支持的浏览器 (IE9 及更高版本) 之下表现一致。必要时,Vue 组件也可以包装于原生自定义元素之内。


Vue 组件提供了纯自定义元素所不具备的一些重要功能,最突出的是跨组件数据流、自定义事件通信以及构建工具集成。


vue精讲


vue实例


vue生命周期


beforeCreate


实例初始化之后,观测数据和事件配置之前


created


创建实例之后立即被调用,数据观测和事件配置已完成,挂载阶段为开始el属性不可见


beforeMount


挂载之前,相关渲染函数首次被执行


mounted


el被新创建的vm.$el替换挂载成功


beforeUpdate


数据更新之前调用


updated


组建dom都更新,组建更新完毕


beforeDestroy


实例销毁之前


destroyed


vue模版语法


v-once


只执行一次


v-html


将内容编译成html代码


v-text


类似模版字符串,不支持html代码


v-once


只执行一次


插值


只执行一次


文本


{{}}数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值


也可以使用v-once 指令


- {{}}


- v-once


原始 HTML


v-html使用的时候需要注意。不要将用户信息使用动态v-html渲染吗,容易收到ssr的攻击


Attribute


可以使用v-bind的方式去调用,可以动态使用某种方法或者属性


动态地绑定一个或多个特性,或一个组件 prop 到表达式


使用 Javascript 表达式


支持三元判断进行js的校验


指令


参数


一些指令能够接收一个“参数”,在指令名称之后以冒号表示


绑定后续中为事件或者属性的名字


动态参数


可以用方括号括起来的 Javascript 表达式作为一个指令的参数


这里的 attributeName 会被作为一个 Javascript 表达式进行动态求值,求得的值将会作为最终的参数来使用。例如,如果你的 Vue 实例有一个 data 属性 attributeName,其值为 "href",那么这个绑定将等价于 v-bind:href。


- 动态参数值的约束


动态参数预期会求出一个字符串,异常情况下值为 null。这个特殊的 null 值可以被显性地用于移除绑定。任何其它非字符串类型的值都将会触发一个警告。


- 动态参数表达式的约束


因为某些字符,如空格和引号,放在 HTML attribute 名里是无效的。


修饰符


修饰符 (modifier) 是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()


缩写


v-bind


v-on


计算属性,监听器


computed


初始化不需要给值,有缓存


计算属性的get和set


get获取数据


set设置


watch


需要初始值,如果两者都可以实现的话,使用computed


方法


Class 与 Style 绑定


class


对象语法


数组语法


style


对象语法


数组语法


条件渲染


v-if


v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。


v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。


相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。


不推荐同时使用 v-if 和 v-for。请查阅风格指南以获取更多信息。


v-show


相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。


一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。


注意,v-show 不支持 元素,也不支持 v-else。


input中的key值


可以清空内容


列表渲染


v-for=‘ item of itemArr’


用 v-for 把一个数组对应为一组元素


我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。


在 v-for 里使用对象


接受3个参数(value, name, index)


在遍历对象时,会按 Object.keys() 的结果遍历,但是不能保证它的结果在不同的 Javascript 引擎下都一致。


维护状态


不要使用对象或数组之类的非基本类型值作为 v-for 的 key。请用字符串或数值类型的值。


数组更新检测


变异方法


push


pop


sheift


unshift


splice


sort


reverse


替换数组


filter()、concat() 和 slice() 。它们不会改变原始数组,而总是返回一个新数组。当使用非变异方法时,可以用新数组替换旧数组


注意事项


- 由于 Javascript 的限制,Vue 不能检测以下数组的变动:


- Vue.set(vm.items, indexOfItem, newValue)


- vm.items.splice(indexOfItem, 1, newValue)


对象变更检测注意事项


Vue.set(object, propertyName, value)


多个对象修改


vm.userProfile = Object.assign({}, vm.userProfile, {


age: 27,


favoriteColor: 'Vue Green'


})


显示过滤/排序后的结果


有时,我们想要显示一个数组经过过滤或排序后的版本,而不实际改变或重置原始数据。在这种情况下,可以创建一个计算属性,来返回过滤或排序后的数组。


- 使用计算属性


- 使用方法,将数组作为参数传入


在 上使用 v-for


来循环渲染一段包含多个元素的内容。


v-for 与 v-if 一同使用


注意我们不推荐在同一元素上使用 v-if 和 v-for


v-for要比v-if 优先级要高


当在组件上使用 v-for 时,key 现在是必须的。


事件处理


监听事件v-on||@


事件修饰符


stop


阻止单击事件继续传播(阻止冒泡)


prevent


消除浏览器模式事件


.capture


添加事件监听器时使用事件捕获模式


self


即事件不是从内部元素触发的


once


passive


深入理解vue组建


组建使用中的细节点


is


js中某些标签固定用法,例如:tabel>tbody>tr>td,ul>li


此情况下组建可使用is属性


data使用函数(除根实例)


根组建中使用对象是因为他只调用一次


组建中考虑到复用性,使用对象的话,他是引用类型,一个改变,其他都会响应,所以使用函数返回对象,避免互相影响,污染。内部数据保持独立数据储存


ref


dom


在vue中我们不建议操作dom,.但是有些动画需要操作时,我们可以使用ref获取dom的引用。


组建


在组建中使用ref时。我们获取的是就是组建的引用


父子组建的数据传递


父-子


通过props属性进行传值。值可以是对象,数组,字符串等方式,单项数据流,子组建不能修改父组建传入的值。因为其他的地方也可以能会引用组建,。一个修改,其他的地方也可以会影响。


子-父


组建参数校验与非组建porps特性


porps接受类型


可以接受多种类型,比如对象,数组,字符串等


接受中可以扩展,


type:数据类型


require:是否必须传


defult:默认值


validator:自定义校验函数


porps特性


父传子:子组建接受,不会显示在dom标签上。


非porps特性


父组建传旨,子组建未接收,会报错。


不实用会直接显示在dom节点(html上)


给组建绑定原生事件


给事件绑定时加上@click.native='fn'


非父子组建传旨


eventBus


使用事件总线机制,实现组建间传旨,通过在vue的原型上挂载属性,然后指向实例,这样bus上就具备vue实例上的方法了,在任何时候都可以获取


在vue中使用插槽


vue中插槽的使用


组建中插入标签,子组建中使用插槽解决


我是header


我是footer




推荐阅读
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文详细介绍了如何在Apache Shiro框架中实现对并发登录人数的限制,包括配置和自定义过滤器的具体步骤。 ... [详细]
  • 本文基于作者使用Flask框架处理后端逻辑和原生JavaScript及jQuery进行前端开发的经验,详细介绍了如何在前后端之间高效地传输JSON数据。文章不仅涵盖了技术实现细节,还提供了实用的代码示例。 ... [详细]
  • Python与MySQL交互指南:从基础到进阶
    本文深入探讨了Python与MySQL数据库的集成方法,包括数据库连接、数据表创建、索引管理、数据操作以及如何防止SQL注入等关键内容。适合初学者及希望提升数据库操作技能的开发者。 ... [详细]
  • 本文详细探讨了在Java TCP编程中,如何理解和测量并发连接数、请求数及并发用户数,并提供了实际应用中的测试方法和优化建议。 ... [详细]
  • 本文详细探讨了JavaScript中四种获取CSS样式的不同方法:style、currentStyle、getComputedStyle和getBoundingClientRect。每种方法的适用场景及其兼容性问题,并提供了解决方案。 ... [详细]
  • 利用CSS3和React实现数字滚动动画组件
    在前端开发中,数字滚动动画是一个常见的需求。本文将详细介绍如何使用CSS3和React构建一个数字滚动动画组件,包括组件的代码实现和样式设计。如果您对HTML版本感兴趣,欢迎留言获取。 ... [详细]
  • 动画队列的设计目的是为了确保一系列任务能够按照预定顺序执行,每个任务只有在其前一个任务完成后才开始。这些任务既可以是同步的,也可以是异步的。本文将探讨jQuery动画系统中的队列机制,并介绍如何使用队列来优化动画效果。 ... [详细]
  • 择要:Fundebug的JavaScript毛病监控插件同步支撑Vue.js异步毛病监控。Vue.js从降生至今已5年,尤大在本年2月份宣布了严重更新,即Vue2.6。更新包含新增 ... [详细]
  • index.js全部js兼容性处理。js内引入babelpolyfill全部js兼容性处理。babelpolyfillimportbabelpolyfill;constadd ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • Exploring the issue where the onScroll event does not correctly capture clientX and clientY values across different browsers. ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
author-avatar
mobiledu2502890483
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有