当前位置: 首页 > news >正文

上海网站开发哪里好薇WordPress站内跳转设置

上海网站开发哪里好薇,WordPress站内跳转设置,代理商入口,aso优化技术慢慢了解vue及其全家桶的过程 原文http://blog.csdn.net/zhenghao35791/article/details/67639415 简介 “简单却不失优雅#xff0c;小巧而不乏大匠”。 2016年最火的前端框架当属Vue.js了#xff0c;很多使用过vue的程序员这样评价它#xff0c;“vue.js兼具angular.js和R…慢慢了解vue及其全家桶的过程 原文http://blog.csdn.net/zhenghao35791/article/details/67639415 简介 “简单却不失优雅小巧而不乏大匠”。 2016年最火的前端框架当属Vue.js了很多使用过vue的程序员这样评价它“vue.js兼具angular.js和React.js的优点并剔除了它们的缺点”。授予了这么高的评价的vue.js也是开源世界华人的骄傲因为它的作者是位中国人–尤雨溪Evan You。 Vue.js 是一个JavaScriptMVVM库是一套构建用户界面的渐进式框架。它是以数据驱动和组件化的思想构建的采用自底向上增量开发的设计。相比于Angular.jsVue.js提供了更加简洁、更易于理解的API使得我们能够快速地上手并使用Vue.js同时比起 react  Redux 相对复杂的架构Vue.js 更加轻量级也更加容易上手是初创项目的首选前端框架。Vue 的核心库只关注视图层它不仅易于上手还便于与第三方库或既有项目整合。并且作者是华人的关系Vue拥有着对华人开发者最友好的api文档和官方教程。 调试插件 在vue调试方面可以选择安装chrome插件vue Devtools。打开vue项目在console控制台选择vue面板。在Devtools工具中可以选择组件查看对应组件内的数据信息。也可以选择Vuex选项查看该项目内Vuex的状态变量信息。  UI组件库 在vue组件库方面个人不推荐使用UI组件库毕竟自己造轮子的过程还是很有成就感的。当然如果更重视开发效率并且选择了vue2.0作为前端框架那么饿了么推出的Element组件就是一个很不错的选择。其github项目https://github.com/ElemeFE/element更新比较频繁虽然项目会有些不稳定但是目前为止element就是最好的支持vue2.0的UI组件。就像它的口号一样“快速成型就为让你少加班”。  vue、React、Angular1对比 性能 对比 在Angular1中在scope作用域中每一次数据变化会触发watcher的重新计算angular对常用的dom事件xhr事件等做了封装 在里面触发进入angular的digest流程。在digest流程里面会从rootscope开始遍历 检查所有的watcher。并且如果一些 watcher 触发另一个更新脏检查循环digest cycle可能要运行多次。Vue则没有这个问题因为它使用基于依赖追踪的观察系统并且异步队列更新数据的变化都是独立处罚的除非数据之间有明确的依赖关系。 vue官方宣称vue的渲染性能优于react。为了有理有据让人信服vue开发团队建立了一个简单的对比性能的项目https://github.com/chrisvfritz/vue-render-performance-comparisons它负责渲染10000个列表项100次。Vue官方将每一个参照项目都分别运行 20 次并取最好的结果结果如下图  由此可见Vue的性能是远好于Angular1并且稍微优于React的。 社区拓展对比 Angular1的背后是Google所以社区基础是不需要担心的从Tutorial到StackOverflow的问题数量都可以反映出生态系统很完整。Angular1之后的2.0版本几乎是一个推翻重做的框架对于使用了1.X版本的项目想要平滑的升级过渡到2.0版本应该是非常困难的。现在Angular2的线上应用数量还不算太多主流编码还是以1.X版本居多。这个版本化巨大的差异也间接影响到了开发者对于angular的信心。 Vue和React都有强大的社区支持。React有状态管理库Flux、ReduxVue相应的Vue有vuex。Vue 和 React 都提供了强大的路由库来应对大型应用。然而Vue的路由库和状态管理库都是由官方维护支持的。React 则是选择把这些问题交给社区维护因此创建了一个更分散的生态系统。但相对的React 的生态系统相比 Vue 更加繁荣。此外Vue 提供了Vue-cli 脚手架包括了WebpackBrowserify甚至路由库能让你非常容易地构建项目。 学习陡峭度对比 在指令与组件方面Vue中将指令和组件分得更清晰。指令只封装 DOM 操作而组件代表一个自给自足的独立单元有自己的视图和数据逻辑。在 Angular1 中两者有不少相混的地方。在API与框架设计方面angular1都比vue要复杂的多。就个人感觉而言angular1和React的学习曲线会相对陡峭一些而vue的编码方式会更趋近于前端开发者的编程习惯。 因为vue的作者是中国人vue的官方网站、教程和api肯定是最完善、最易懂的。此外每次大版本的发布都会伴随着详尽的迁移说明文档包含了很多详尽的阐述以及许多迁移的例子甚至还有迁移工具。Angular的开发团队你们就不觉得脸红么… Vue的使用非常的简单创建一个本地的 .html 文件然后通过如下方式引入 Vue 这样就生成了vue的hello world应用。 渲染能力对比 ReactNative能使你用相同的组件模型编写有本地渲染能力的 APPiOS 和 Android。能同时跨多平台开发对开发者是非常棒的。为了弥补这方面的不足在2016年9月举办的JSConf2016期间vue.js的作者尤雨溪宣布加盟Weex团队担任技术顾问双方将进行更紧密的合作共建开发生态圈。Weex 是阿里的跨平台用户界面开发框架Weex 的 JavaScript 框架运行时用的就是 Vue。在此之后在 Weex 的帮助下使用 Vue 语法开发的组件不仅仅可以运行在浏览器端还能被用于开发 ios 和 android 上的原生应用。 Vue.js 的作者尤雨溪表示“Weex选择Vue作为其javascript运行时框架是让我非常高兴的一件事。Vue的组件开发模式已经被web开发者社区广泛 认可而把Vue的开发体验拓展到原生平台则是我一直想做但没有余力去做的事情。一想到Weex将能让开发者们用Vue的语法去写跨 Web/Android/iOS三端的通用组件就让我很兴奋。” vue的缺点 Vue就这么好难道没有缺点吗当然有vue虽然在16年非常火爆但是相比于angular和react不论是成熟度还是社区活跃度都还不是对手。此外Vue明确声明了自己放弃了对IE8的支持。再看看现在的招聘网站上有多少写了需要有angular经验而又有多少写了需要vue经验就可见vue的影响力相比于angular和react还差的很远。 vue全家桶及项目架构 Vue有著名的全家桶系列包含了vue-routerhttp://router.vuejs.orgvuexhttp://vuex.vuejs.org vue-resourcehttps://github.com/pagekit/vue-resource。再加上构建工具vue-cli就是一个完整的vue项目的核心构成。 vue-router路由 推荐使用npm工具来安装vue-router npm install vue-router 通过import导入并定义Vue模块、vue-router模块和需要使用的组件在本例中分别是Goods、Ratings和Seller组件。最后如果在一个模块化工程中使用它必须要通过 Vue.use() 明确地安装路由功能。 import Vue from’vue’ importRouter from’vue-router’ import Goods from ‘/components/goods/goods’; import Ratings from ‘/components/ratings/ratings’; import Seller from ‘/components/seller/seller’; Vue.use(Router); // 需要import Vue和Router不然会报错undefined 通过const router new VueRouter来定义一个路由并传入对应的配置包括路径path和组件components。 最后在使用newVue来创建和挂载vue根实例的时候记得要通过 router配置参数注入路由即在router中export出来的路由对象从而让整个应用都有路由功能。  vuex状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态并以相应的规则保证状态以一种可预测的方式发生变化。如前面所提到的Vuex 已经集成到 Vue 的官方调试工具vue Devtools可以轻松的查看项目中的Vuex状态变化情况。 假设有这样一个场景我们的项目规模比较大有多个父组件每个父组件同时又包含多个子组件。如何保持对所有时间的追踪将变得很困难。到底哪个事件是哪个组件派发的哪个组件该监听哪个事件父组件将变得和子组件耦合越来越严重因为它需要明确的派发和监听子组件的某些事件。项目逻辑分散在各个组件当中很容易导致逻辑的混乱不利于我们项目的维护。 这就是 Vuex 用来解决的问题。 Vuex 的四个核心概念分别是 The state treeVuex 使用单一状态树用一个对象就包含了全部的应用层级状态。至此它便作为一个『唯一数据源(SSOT)』而存在。这也意味着每个应用将仅仅包含一个 store 实例。单状态树让我们能够直接地定位任一特定的状态片段在调试的过程中也能轻易地取得整个当前应用状态的快照。 Getters用来从 store 获取 Vue 组件数据。 Mutators事件处理器用来驱动状态的变化。 Actions可以给组件使用的函数以此用来驱动事件处理器 mutations Vuex和简单的全局对象是不同的当Vuex从store中读取状态值的时候若状态发生了变化那么相应的组件也会高效的更新。并且改变store中状态的唯一途径就是提交commit mutations。这样便于我们跟踪每一次状态的变化。只要发生了状态的变化一定伴随着mutation的提交。 让我们来看一个最简单的vuex例子 安装 Vuex 之后让我们来创建一个 store。创建过程直截了当——仅需要提供一个初始 state 对象和一些 mutations 现在你可以通过 store.state 来获取状态对象以及通过 store.commit 方法触发状态变更 vue-resource介绍 Vue-resource有体积小支持IE9以上的浏览器支持promise特性的特点。同样推荐使用npm来安装Vue-resource。 $ npm install vue-resource 在安装并引入vue-resource后可以基于全局的Vue对象使用http也可以基于某个Vue实例使用http。 在发送请求后使用then方法来处理响应结果then方法有两个参数第一个参数是响应成功时的回调函数第二个参数是响应失败时的回调函数。 vue-resource的请求API是按照REST风格设计的它提供了7种请求API · get(url,[options]) · head(url,[options]) · delete(url,[options]) · jsonp(url,[options]) · post(url,[body], [options]) · put(url, [body],[options]) · patch(url,[body], [options]) vue工程目录结构 下图是一个简单的vue项目的大概结构下面简要介绍一下每个文件夹中一般都会存放哪些内容。  components/文件夹用来存放Vue 组件。个人建议把每一个组件中使用到的image图片放置到对应的组件子文件目录下便于统一的管理 Node_modules/npm安装的该项目的依赖库 vuex/文件夹存放的是和 Vuex store 相关的东西state对象actionsmutations) router/文件夹存放的是跟vue-router相关的路由配置项 build/文件是 webpack 的打包编译配置文件 static/文件夹存放一些静态的、较少变动的image或者css文件 config/文件夹存放的是一些配置项比如服务器访问的端口配置等 dist/该文件夹一开始是不存在在我们的项目经过 build 之后才会产出 App.vue根组件所有的子组件都将在这里被引用 index.html整个项目的入口文件将会引用我们的根组件 App.vue main.js入口文件的 js 逻辑在webpack 打包之后将被注入到 index.html 中 vue中less的应用 在vue项目中一样可以使用less预编译只是需要使用npm安装less-loader插件。安装完成后在vue中的css模块进行简单的配置这样就可以直接使用less来编写样式表了。在打包编译的时候会自动生成对应的css样式。 vue合实例讲解Vue核心功能 Vue的功能有很多很难一一进行详细的解释。下面根据在工作中的项目实例结合代码解释一下vue的几大核心功能。 计算属性 假设有如下的购物车结算场景用户选中商品的总金额是根据商品数量、选中商品种类数 和商品单价来变化的。然而数量、选中种类数量和单价这几个对象都是根据用户选择而动态变化的如果在前端模版中为了计算最终商品总额放入这几个动态变化的变量商品数量、商品单价、选中商品种类会让这个逻辑变得复杂难以维护。在这种情况下模版便不再简洁清晰。Vue给出了此种场景的解决方案在任何复杂的逻辑vue都推荐使用计算属性。 如上图所示在html中我们只需要使用{{totalPrice}}这个计算属性就可以来表示最终的商品总额。我们不需要关注这个变量的数值变化totalPrice这个变量的逻辑写在对应的computed计算属性中。 也许会有疑问这个计算属性和定义一个method方法不是差不多么这两者最大的区别是计算属性是基于它的依赖进行缓存的。计算属性只有在它的相关依赖发生变化时才会重新计算求值。在本例中只有当选择商品的价格price和数量count发生变化时这个计算属性totalPrice才会重新计算新的值。这就意味着只要totalPrice这个值没有发生变化多次访问该计算属性会立即返回之前的计算结果而不必再次执行计算。 模版语法 Vue.js 使用了基于 HTML 的模版语法允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML 所以能被遵循规范的浏览器和 HTML 解析器解析。Vue的模版语法包括了使用双大括号插入文本、使用v-html插入纯HTML内容、使用v-bind插入对象、类似angular的v-if、v-show、v-for指令、以及过滤器等等。  组件化 组件Component是 Vue.js 最强大的功能。组件可以封装可重用的代码通过传入对象的不同实现组件的复用。 举一个简单的组建例子我们首先编写一个star组件它就是一个普通的star.vue文件。它的作用就是简单实现了一个五角星。 如何在其他的vue文件中使用这个star组件呢如下图所示首先通过import引入star组件对象并在想使用star组件的vue文件中声明注册star组件。现在就可以愉快的通过标签来在该vue文件中任意地方使用star组件了。在你想展示一个五角星的地方使用一个star标签就可以轻松完成这个功能。 组件实例的作用域是孤立的。这意味着不能在子组件的模板内直接引用父组件的数据。要让子组件使用父组件的数据我们需要通过子组件的props选项。如本例所示子组件star要显式的使用props选项声明它期待获得的数据。在这里就是指的“size”和“score”两个变量。我们可以通过父级给子组件star传入大小和数值这两个对象来实现对子组件的定制化。  过渡效果 Vue 在插入、更新或者移除 DOM 时提供多种不同方式的应用过渡效果可以用简单的几行代码实现酷炫的过渡效果。Vue 提供了 transition 的封装组件在使用v-if、v-show等方法使得transition内部dom元素发生变化时可以给任何元素和组件添加 entering/leaving 过渡。 当v-show中内容发生变化时transition组件中的元素会发生状态的改变在应用了transition封装后Vue会自动识别目标元素是否应用了CSS过渡效果动画如果有会在合适的时机添加 entering/leaving的class来实现该过渡效果。 下图所示是一个简单的过渡效果的例子需要将想实现过渡效果的元素放在transition标签中包裹通过name“slide-fade”来声明过渡效果名称并在对应的vue文件中添加过渡效果 的css样式这样就可以简单的完成该元素的过渡效果。   总结 根据不完全统计包括饿了么、稀土掘金、苏宁易购、美团、天猫、荔枝FM、房多多、Laravel、htmlBurger等国内外知名大公司都在使用vue进行新项目的开发和旧项目的前端重构工作。 此外vue vuex vue-resource vue-router webpack es6 less的项目架构成为了越来越多大公司的第一选择。 Ps尤雨溪牵头的全球首届 VueConf 将于 5 月 20 日在北京举办目前正在筹备过程中近期会发布更多购票相关细节感兴趣的小伙伴请保持关注了。转载于:https://www.cnblogs.com/mmzuo-798/p/7309564.html
http://www.zqtcl.cn/news/565737/

相关文章:

  • 提供响应式网站建设wordpress怎么做背景图片
  • 相亲网与做网站做网站的目的与意义
  • 做网站字体大小网站建设是属于虚拟产品吗
  • 网站的内链怎么做校园网建设网站特色
  • 优化网站标题企业的网站一般做哪些维护
  • 聊天网站备案南阳定制网站制作价格低
  • 广州镭拓科技网站建设公司长春招聘
  • 视频网站app怎么做跨境贸易电子商务服务平台
  • 丽水网站seo餐饮vi设计案例
  • 娄底网站建设报价山东省住房和建设厅注册中心网站
  • 公司网站建设工作重点网站建设吉金手指专业11
  • vue做前台网站怎么做钓鱼网站吗
  • 个人建设网站如何定位烟台h5网站开发
  • 广州网站定制多少钱html5游戏开发
  • 使用angularjs的网站域名怎么解析到服务器
  • 地方门户网站盈利模式宝塔 wordpress
  • 西安网站备案软件开发基础教程
  • 有服务器做网站软件系统开发怎样容易
  • 网站建设的公司有发展吗织梦婚纱网站模板
  • 淘宝销售书网站建设方案wordpress调用评论数据
  • 搭建网站需要什么软件苏州吴中区建设局工程网站
  • 长沙市网站推广公司wordpress 弹窗登录插件
  • 网站策划怎么做内容朔州网站建设公司
  • 宁波拾谷网站建设蚌埠网站建设中心
  • 青岛专业设计网站公司加拿大广播公司
  • 盘锦市建设局网站地址八桂职教网技能大赛
  • 投资建设一个网站多少钱和淘宝同时做电商的网站
  • 做动物网站的素材icp备案 网站备案
  • 找人建网站唐山网络运营推广
  • 福建省住房建设厅网站6网站简历模板