Vuebnb:一个用vue.js和Laravel构建的全栈应用

2023-11-06


今年我一直在写一本新书叫全栈Vue网站开发:Vue.js,Vuex和Laravel。它会在Packt出版社在2018年初出版。

这本书是围绕着一个案例研究项目,Vuebnb,简单克隆Airbnb。在这篇文章中,我会把它如何工作做一个高层次的概述,好让你了解如何从零开始参与建设一个Vue/Laravel构建的全栈应用。

这是一个现场演示如果你想看看的话:https://vuebnb.vuejsdevelopers.com

概述

作为一个完整的全栈应用程序,Vuebnb由不同的部分组成:

前端应用,使用Vue.js构建。我也使用Vue-Router管理页面创建,用Vuex管理全局状态。代码最初是写在一个浏览器的脚本文件,但随着复杂性的增加使用WebPack生成,并设置允许单个文件组件和ES+功能。

后台应用程序,内置Laravel。它的主要工作是为前端应用程序服务,并为列表数据提供Web服务。在Vue-Router服务下,Web服务允许Vuebnb像一个单一的网页应用程序。我还用Laravel安全认证的API调用,这是让用户能够保存他们喜欢的房间列表。

特征

该项目的功能主要包括UI组件以及应用程序的总体架构设计。让我们做一个简短的概述:

模态窗口

在列表页面的模态窗口,目的是让用户看房屋的照片获得更好的感觉。

模式窗口很难实现,因为它们不在页面元素的层次结构中,因此也很难与它们进行通信。我实现这个用Vue.js,像组件引用和生命周期钩子一样管理类。

图像滑块

主页上的图像滑块使查看所有可用的列表变得非常方便。一个CSS的转换 transform: translate(..)用于将图像移动到另一侧,而转换则提供滑动效果。我用vue.js绑定的translate以便用左,右箭头控制值。

处理好这个页面需要很好地理解组件,props和事件,因此,本书的6章的主要任务,就是vue.js组件的构成。

收藏列表

用户可能想给他们喜欢的房源做一个标注,所以我添加了一个“收藏”功能。可以收藏从首页或列表页点击心形图标,这是可重用的组件的一个部分。

我通过Vuex存储状态,可以保持整个页面的使用。为了在会话中持久化状态,我通过Ajax将它发送回存储在数据库中的服务器。通过Laravel的验证接口来验证相关API调用。

在后端和前端之间共享数据

全栈应用程序的关键考虑之一是如何在后端和前端之间进行数据通信,所以我花了相当多的时间来处理这本书中的问题。

例如,有一列数据是从Laravel到内页的,Vue.js通过使用刀片视图来实现,可以很容易地使用模板变量向页面头部注入数据。这个数据可以在Vue应用程序中就初始化。

但如果是用Vue-Router创建虚拟页面,如何检索后续页面的数据?解决方案包括一个协同使用Vue的Vue-Router,Vuex和Axios一起创造一个令人惊讶的简单机制,在需要用于检索数据时使用它。

关于这本书

从Vuebnb的特点你会有一些涉及全栈Vue网站开发的话题:Vue.js,Vuex和Laravel。我在本文中没有提到的其他主题包括:

Vue.js数据绑定的核心概念、指令和生命周期挂钩

建立全栈应用的最佳实践开发工作流Vue/laravel,包括WebPack。

全栈的应用程序生产部署,与免费的Heroku App和CDN服务的相关静态资源

我很高兴地这本书已经出版了!Get Full-Stack Vue.js 2 and Laravel 5 by Anthony Gore (Packt Publishing, 2017):

https://www.packtpub.com/application-development/full-stack-vuejs-2-and-laravel-5

如果你拿起一份感兴趣,可以使用促销代码fsvue15获得15%的折扣。

分享Vue.js的入门级全家桶系列教程:

1.vue.js 入门与提高: xc.hubwiz.com/course/vue.…

2.vuex 2 入门与提高: xc.hubwiz.com/course/vuex

3.vue-router 入门与提高: xc.hubwiz.com/course/vuer…

4.vue.js 工程化实践: xc.hubwiz.com/course/vueg…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vuebnb:一个用vue.js和Laravel构建的全栈应用 的相关文章

随机推荐

  • STL之栈

    一 什么是栈 栈也是一种操作 或者说运算 受到限制的特殊线性表 其插入和删除操作都限制在表的一端进行 这一端被称为 栈顶 top 相对的另一端称为 栈底 bottom 两种操作 1 进栈 PUSH 或者 压栈 2 出栈 POP 栈的特点是
  • Android中必须学习的八大开源项目

    欢迎Follow我的GitHub 关注我的CSDN 其余参考Android目录 转载请注明出处 http blog csdn net xiaole0313 article details 52562041 1 Ghost 微影 一款纯粹的在
  • 伺服速度控制模式接线图_PLC采用转矩、位置、速度模式控制伺服电机的方法

    原标题 PLC采用转矩 位置 速度模式控制伺服电机的方法 今天为大家讲解的是关于PLC控制伺服电机三种方式 一 转矩控制 二 位置控制 三 速度模式 一 转矩控制 转矩控制方式是通过外部模拟量的输入或直接的地址的赋值来设定电机轴对外的输出转
  • top-K 算法总结

    问题描述 有 N N gt 1000000 个数 求出其中的前K个最小的数 又被称作topK问题 1 最基本思路 将N个数进行完全排序 从中选出排在前K的元素即为所求 有了这个思路 我们可以选择相应的排序算法进行处理 目前来看快速排序 堆排
  • 【APT检测——论文精读】SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data

    2017 USENIX Security 顶会 Abstract 提出了一种实时重建企业主机攻击场景的方法和系统 为了满足问题的可扩展性和实时性需求 我们开发了一个平台中立的 基于主存的 并使用依赖图来抽象审计数据 然后 我们提出了有效的
  • redux成员、store成员、redux的数据流转、redux如何配合react-redux使用?react-redux的常用API、react-redux、redux和vuex的区别是什么?

    文章目录 前言 一 redux 1 redux三大原则 2 redux的安装 3 redux成员 4 store成员 5 数据流动 6 redux操作流程 7 action里处理异步 8 combineReducers提取reducer 二
  • java实验:电商购物平台(demo)

    课程融合之电商购物平台 将之前所学的知识都融合起来运用 是我目前做过最复杂的项目 不出意外会长期更新 文章目录 前言 实验内容 根据电商购物平台项目需求说明书的要求 抽象出电商购物平台中商品类目类和商品类 并用数组模拟商品数据库 完成商品信
  • vue el-table动态表格表头+对应数据

    vue el table动态表格创建 动态渲染表头 动态匹配表头对应数据 在这里插入代码片
  • SQLmap常用命令/使用教程

    SQLmap是一款自动化SQL注入神器 用于SQL注入漏洞的检测和利用 支持多种数据库 检测位置 u 指定url GET请求 p 指定参数 url包含多个参数时 指定参数 data 指定POST请求参数 cookie 指定cookie参数
  • 线性代数06 矩阵的逆以及求法

    我们已经了解了对于方程组来说 如何根据他的系数矩阵的变化 来实现高斯 诺尔当消元算法 并可以快速的判断方程组的解的情况 这样看上去非常的完美 但是我们在线性代数中 还有一个非常重要的部分就是矩阵的运算 似乎除了初等变换以外 现在目前还对任何
  • 可以这样学习linux命令

    通过综合练习 可以强化linux命令的学习 带着问题学习linux命令及其相关知识 是十分有效的方法 我们通过查询当前目录下的子目录这个问题 学习与训练linux 中一些重要命令 综合练习强于单个命令的分散学习 知识的串联 可以打通知识结点
  • python数组(矩阵)乘法(点乘、叉乘)

    转载 https blog csdn net haiziccc article details 101361583 总结 1 tf matmul A C np dot A C A C都属于叉乘 而tf multiply A C A C A
  • STM32的IAP在线升级

    IAP简介 简介部分copy自正点原子 IAP In Application Programming 即在应用编程 IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写 目的是为了在产品发布后可以方便地通过预留的通
  • redhat 6.4安装oracle11g RAC (三)

    为数据和快速恢复去创建ASM磁盘组 只在节点rac1执行即可 进入grid用户下 grid rac1 grid srvctl status asm a ASM is running on rac2 rac1 ASM is enabled g
  • 快速浮点开方运算

    二分法 浮点开方也就是给定一个浮点数x 求根号x 这个简单的问题有很多解 我们从最简单最容易想到的二分开始讲起 利用二分进行开平方的思想很简单 就是假定中值为最终解 假定下限为0 上限为x 然后求中值 然后比较中值的平方和x的大小 并根据大
  • FISCO BCOS(二十)——— FISCO BCOS多群组搭建

    1 创建文件夹 创建目录 root wyg virtual machine mkdir fisco 2 创建配置文件 root wyg virtual machine fisco vim ipconf 3 建链 root wyg virtu
  • 【C++】封装的详细介绍

    目录 1 封装的意义 2 struct和class的区别 3 成员属性设置为私有 1 封装的意义 封装是C 面向对象的三大特性之一 封装的意义 1 将属性和行为作为一个整体 表现生活中的事物 2 将属性和行为加以权限控制 public公共权
  • CTFshow-pwn入门-栈溢出pwn49(静态链接pwn-mprotect函数的应用)

    pwn49 首先我们先将pwn文件下载下来 然后赋上可执行权限 再来查看pwn文件的保护信息 chomd x pwn checksec pwn file pwn 我们可以看到这是一个32位的pwn文件 并且保护信息开启了NX和canary
  • idea运行SSM项目及启动(tomcat),详细图解

    1 导入进项目 配置maven 2 配置本地的tomcat 3 选择本地的Tomcat Server 选择Local 点击create 4 tomcat路径配置 名称配置 端口及访问配置 5 项目war包配置生成 进入项目配置 1 进入Ar
  • Vuebnb:一个用vue.js和Laravel构建的全栈应用

    今年我一直在写一本新书叫全栈Vue网站开发 Vue js Vuex和Laravel 它会在Packt出版社在2018年初出版 这本书是围绕着一个案例研究项目 Vuebnb 简单克隆Airbnb 在这篇文章中 我会把它如何工作做一个高层次的概