Vue.js

造神计划-10天前端免费学习训练营

笑着哭i 提交于 2021-01-11 12:30:28
暖春四月,樱花飘落,景也赏了,假也休了 是时候一起快乐学习了! 腾讯课堂 IMWeb 前端训练营为你独家定制 造神计划——10天前端免费魔鬼特训 ( 2017.4.15-2017.4.24 ) 特训内容 1 、基于微信社群,项目式教学,点亮你的技术图谱,成长进步看得见; 2 、用 10 天养成自驱动学习习惯,走进技术大神生活; 3 、腾讯导师直播答疑,鹅厂前端真相揭露; 4 、求职“前”规则,前端笔试面试技巧。 特训课程选择 A 、前端小白( HTML+CSS+JS ,价值 498 元) 想学习前端基础知识的大学生和职场新人的福音,课程步步深入,带领大家学 习HTML、 CSS 、 JS 知识,成就未来前端大神! (本课程限制报名 200人 ,小伙伴们抓紧报名哦~) B 、前端加薪( Vue 框架学习,价值 798 元) Vue.js 是 2017 年最火的前端框架之一,一份前端简历如果缺少 Vue.js 项目来锦上添花,简直无颜以对面试官呀! 、 除了之上,你还将有机会获得 来源: oschina 链接: https://my.oschina.net/u/4364002/blog/4889598

Vue开发技巧

非 Y 不嫁゛ 提交于 2021-01-11 09:44:02
作者: WahFung https://juejin.im/post/5e8a9b1ae51d45470720bdfa 路由参数解耦 一般在组件内使用路由参数,大多数人会这样做: export default { methods: { getParamsId() { return this.$route.params.id } } } 在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。 正确的做法是通过 props 解耦 const router = new VueRouter({ routes: [{ path: '/user/:id', component: User, props: true }] }) 将路由的 props 属性设置为 true 后,组件内可通过 props 接收到 params 参数 export default { props: ['id'], methods: { getParamsId() { return this.id } } } 另外你还可以通过函数模式来返回 props const router = new VueRouter({ routes: [{ path: '/user/:id', component: User, props: (route) => ({ id:

Vue技巧

余生长醉 提交于 2021-01-11 08:34:10
转载: https://segmentfault.com/a/1190000014085613?utm_source=channel-hottest 对自己有用,做个笔记,有兴趣可以去以上地址去看. 第一招:化繁为简的Watchers 场景还原: created(){    this .fetchPostList(); }, watch: { searchInputValue(){      this .fetchPostList(); } } 组件创建时需要获取一次列表,同时数据更新需要重新重新渲染列表,immediate:true表示创建组件时立马执行一次. 并且直接使用函数的字面量名称. watch: {   searchInputValue:{     handler: 'fetchPostList' ,     immediate: true  } } 第二招:一劳永逸的组件注册 场景还原: import BaseButton from './baseButton' import BaseIcon from './baseIcon' import BaseInput from './baseInput' export default { components: { BaseButton, BaseIcon, BaseInput } } <BaseInput v-model

ElementUI tree的取值与回显

放肆的年华 提交于 2021-01-11 06:11:18
ElementUI tree的取值与回显 目的 场景一 选择树的节点后,希望提交当前选中的节点,以及节点对应的父级节点。 比如下面结构,当我选中字典管理时,我希望能够获取到的ids = [1,2,3] { "id": "1", "label": "资源", "type": "menu", "children": [ { "id": "2", "label": "系统设置", "type": "menu", "children": [ { "id": "3", "label": "字典管理", "type": "menu", "children": [] }, { "id": "4", "label": "公共配置", "type": "menu", "children": [] } ] } ] } 场景二 回显处理:将上述数据回显时,默认情况会选中所有,因为elementui的树是根据父级的选中状态自动选中所有子节点。 解决方案 场景一 思路 提交时获得最底层的选中节点; 可以通过遍历子节点,分别获取父级节点标识; 需要利用递归。 相关代码 // 获取完全选中的节点 var treeKeys = this.$refs.tree2.getCheckedKeys() // 最终选中的包括半选中的节点数组 var ids = [] // 调用获取所有节点的方法 this

后台管理系统--编写过程中遇到的问题总结(一)

我只是一个虾纸丫 提交于 2021-01-11 03:06:39
1、父子组件间的传值与vuex 起初,弹框的显示我都用了vuex来实现,虽然可以实现但没有真正发挥vuex是用处,属于滥用了,直到大牛指点说vuex一般都用来处理接口请求回来的复用性高的数据,而不是什么都用vuex,弹框就直接使用父子之间的传值就可以了(vuex--为了没有直接关系的组件间的数据共享,用在调用接口上即可,不要滥用)。 ① 父子组件间的传值 父--子:父在子组件标签里通过 :xxx="xxx" 的方式传给子组件,子组件通过props接收,如若要改变接收过来的值就在计算属性里改变而不直接改变props的值,改变的时候需要设置set(){}; 子--父:通过 $emit 方法传递(虽然传递的是方法,但是是在父组件里监听然后改变对应的值,可以看做是将操作控制权还给了父组件);$emit传递给父组件后,具体的值的改变写在父组件里; // 父组件 <Button @click="handleShowSon">显示子组件</Button> // @监听子组件传过来的方法,:给子组件传值 <son @sonEmit=“onSonEmit" :showSon="showSon" ></son> <script> export default{ data(){ return { showSon:false, } }, methods:{ handleShowSon(){ this

Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题

橙三吉。 提交于 2021-01-10 19:53:33
Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题 参考文章: (1)Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题 (2)https://www.cnblogs.com/mysouler/p/10818612.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4428122/blog/4888983

vscode自定义vue模板代码

独自空忆成欢 提交于 2021-01-10 12:57:09
File---》preference --》user Snippets--》搜索html.json 编辑 加入以下自定义代码内容 "Html5-Vue": { "prefix": "vue", "body": [ " <! DOCTYPE html > ", " < html lang =\"zh-CN\" > \n", " < head > ", "\t < meta charset =\"UTF-8\" > ", "\t < meta name =\"viewport\" content =\"width=device-width, initial-scale =1.0\" > ", "\t < meta http-equiv =\"X-UA-Compatible\" content =\"ie=edge\" > ", "\t < title > Document </ title > ", "\t < script src =\"../lib/vue-2.5.17/vue.js\" ></ script > ", " </ head > \n", " < body > ", "\t < div id =\"app\" > $1 </ div > \n", "\t < script > " , " \t\tvar vm = new Vue({ " , " \t\t\tel: '

web app 和移动端app(混合app---react native;vue+veex) 开发技术和区别

不羁的心 提交于 2021-01-10 08:01:12
1、什么是APP 使用HBuilder打包出一个app应用   新建一个5+app的项目,模板选空项目就行,然后把自己的项目目录依赖覆盖进来(html、css、js等),   然后双击manifest.json文件去配置自己app的平台和各种配置   然后点击发行---原生app云打包,最后打包生成了.apk文件   然后发送到手机,下载安装就行了       注意: 基于vue开发的项目若是打包后出现白屏,一般是路径不对,那就要修改配置文件vue.config.js后再 npm run build后执行云打包   ----使用HBuilder打包app的缺陷---项目代码都会上传到HBuilder服务器,所以对我们而言是不安全的,大公司不会这么搞,中小型企业ok       web app 开发(html css js +框架+ 打包成app)---H5+app(利用HBuilder打包) 移动app开发环境配置---- react native的开发环境配置       来源: oschina 链接: https://my.oschina.net/u/4385749/blog/3487621

垃圾代码书写准则

冷暖自知 提交于 2021-01-10 02:38:06
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里--> Spring Boot+Vue+微人事视频教程 还记得雷布斯这句话吗? 好的代码可以像诗一样优雅,然而并非人人都能写的一手好代码!老实说,想写一手不被同事吐槽的代码确实不容易,特别是有的小伙伴在工作中公司都没有明确的代码规范,或者仅仅只是一些口头约定,这样就更难养成一些良好的代码书写习惯了。 不过 IDEA 中有一个 Alibaba 代码规范插件,可以自己装着起一个约束提醒自己的作用。 最近松哥在 GitHub 上看到一个开源项目,还挺有意思的,作者罗列出了什么样的代码是垃圾代码,仓库地址如下: https://github.com/trekhleb/state-of-the-art-shitcode 小伙伴们不妨看一看,你有没有中招。 垃圾代码书写准则 💩 以一种代码已经被混淆的方式命名变量 如果我们键入的东西越少,那么就有越多的时间去思考代码逻辑等问题。 Good 👍🏻 let a = 42 ; Bad 👎🏻 let age = 42 ; 💩 变量/函数混合命名风格 为不同庆祝一下。 Good 👍🏻 let wWidth = 640 ; let w_height = 480 ; Bad 👎🏻 let windowWidth = 640 ; let windowHeight = 480 ; 💩

APICloud:高性能AVM框架应势而来

痞子三分冷 提交于 2021-01-09 18:01:28
在大前端技术领域,当我们遇到了需要解决重复性的问题时,通常会考虑设计一个DSL(Domain-Specific Language)或者抽象出一个框架层,专门来解决这些类似的问题。 使用DSL我们并不需要为特定终端编写多套代码,还可以利用宿主语言的抽象能力,确保各终端渲染效果的一致性以及对开发者友好。 目前流行DSL有: React支持的JSX语法、Vue定义的SFC结构和v-*指令集、微信小程序的WXML/WXS语法等。 这些DSL最终被编译为目标代码,直接发布于小程序平台,或者借助JS-Runtime运行于APP和Web浏览器。 其中, React是函数式编程思想的实践者 ,最大的特点是发明了JSX语法,允许开发者使用xml的方式在JS中声明UI,并通过组件化和更加语义化的代码而非模板来高效的定义界面,以提供最大的灵活性和响应能力; React只对开发者暴露基础的生命周期和过程,更多的实现和逻辑细节则交由用户灵活定制,单纯的使用JS语言即可完成整个开发过程,有客户端开发经验的开发者将更容易上手React。 而Vue则希望通过尽可能简单的API实现响应式的数据绑定和UI组件的组合及管理,因此默认屏蔽了非常多的操作细节,这对初学者而言提供了巨大的方便;其单文件组件模板语法也更贴近原生Html5,具备Web前端基础的开发者,将能够流畅的过渡到Vue开发中。