这个东西还真是浪费了不少时间,网上一些文章写的吧 不知道是原来版本那么做 还是以讹传讹 反正都不太好用
只能大致参考下 好了 进入整体
1 | <!-- 注意这里 lay-filter 是监听时 或者其他操作时用的 选取用的字段 类似jq的 $('#id')--> |
这个东西还真是浪费了不少时间,网上一些文章写的吧 不知道是原来版本那么做 还是以讹传讹 反正都不太好用
只能大致参考下 好了 进入整体
1 | <!-- 注意这里 lay-filter 是监听时 或者其他操作时用的 选取用的字段 类似jq的 $('#id')--> |
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
1 | Object.assign(target, ...sources) |
描述:
如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。
String类型和 Symbol 类型的属性都会被拷贝。
在出现错误的情况下,例如,如果属性不可写,会引发TypeError,如果在引发错误之前添加了任何属性,则可以更改target对象。
注意,Object.assign 会跳过那些值为 null 或 undefined 的源对象。
模块定义
1 | // common.js |
模块使用
1 | var common = require('common.js') |
以上是最简单的使用方法.这个方法有个好处就是那个函数知道出自那里.
下面的方法更现代一些,不过有个问题是,方法出自那里不会那么清晰.所以用的时候看着办吧.
Vue中文帮助网站:http://cn.vuejs.org/
Vue github开源地址:https://github.com/vuejs/vue
Vue.js专业中文社区:http://www.vue-js.com/
前端开发Vue相关:http://www.opendigg.com/tags/front-vue
本文开源地址:https://github.com/yonghu86/awesome-github-vue
本文主要是收集与整理Vue相关的开源资料,以供需要的朋友参考。主要包含以下几方面的内容:
UI组件、开发框架、实用库、服务端、辅助工具、应用实例、Demo示例
名称 | 说明 |
---|---|
vue-spa-template | 构建vue全家桶,Github说明很详细.参考文档:基于 vue 全家桶的 spa 项目脚手架 |
electron-vue | 构建electron时用的 |
cooking | vue特别简单的构建工具,不过东西可能没有上面vue-spa-template那么全. 中文文档 |
Vue-Element-Starter | vue启动页.这个已经有了个后台框架的样子了.基本的东西已经弄好,可以快速开发了 |
Vue Paper Dashboard | 这个真的很漂亮 就是不能用作大型后台 |
Vue Admin Panel Framework | vue和buluma的后台好像是重复两个啊 |
CoPilot | 这个也不错 是AdminLTE模板做的 |
CoreUI-Free-Bootstrap-Admin-Template | 这个也不错 是CoreUI模板做的 |
Vuestic Admin Dashboard | 这个也不错 是 Bootstrap 4.模板做的 |
主要看这篇文章就行了 Swagger从入门到精通 虽然可能有些地方可能有老了,没讲到不过还是很实用,而且非常细致.
剩下的看编辑器事例就好了,一下子就能看懂了 官方在线编辑器
记录点一:
当请求操作时,有两种方式一种是路径请求,另一种是参数请求.两种表现形式不同.
参数请求
1 | // get(请求方式) /persons?pageSize=20&pageNumber=2 |
路径请求
1 | // get(请求方式) /persons/{username} |
聚焦一个焦点,判断键值这么写
1 | <html> |
这个东西用起来简单并且强大,不过现在可能不太流行了.因为这个配合jquery比较多.
直接随机产生数据
1 | <script src="http://mockjs.com/dist/mock.js"></script> |
1 | { |
想用js开发桌面现在有两个框架可以用 Electron 另外一个是 nwjs.
但感觉还是用 Electron比较好,因为现在一些流行的软件是那这个弄的,比如说我现在用的 Atom ,VSCode 这两个软件都非常好用,而且漂亮.
另外还有个原因是,他有中文文档.这样实在是方便太多了
这里主要编写个 Electron 启动配置文件.是 package.json
里的 main
字段的文件.
注意:如果 main 字段没有在 package.json 声明,Electron会优先加载 index.js。
剩下的就是编写自己的程序了就行了.
贴两个配置文件样本.
一 这是官方的例子
1 | const { app, BrowserWindow } = require('electron') |
这就是Promise的作用了,简单来讲,就是能把原来的回调写法分离出来,在异步操作执行完后,用链式调用的方式执行回调函数。
1 | function runAsync(){ |
功能相同
1 | function runAsync(callback){ |
优点:
效果也是一样的,还费劲用Promise干嘛。那么问题来了,有多层回调该怎么办?如果callback也是一个异步操作,而且执行完后也需要有相应的回调函数,该怎么办呢?总不能再定义一个callback2,然后给callback传进去吧。而Promise的优势在于,可以在then方法中继续写Promise对象并返回,然后继续调用then来进行回调操作。
main.vue 在组件里 所有的样式必须放在一个 <div></div>
标签里 否则会出错.
这个标签可以指定 默认为 class=index
这个看教程时已经知道,只是做的时候又给忘记了
Vue.nextTick(function () { })
在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 因为有的插件需要操作DOM 但是DOM还没创建出来时 会出现问题 这个也是如此无法用this 我理解的关于Vue.nextTick()的正确使用
created:function(){}
这个也可以的 这是钩子程序 但是这个时期 DOM没有创建出来
mounted: function (){}
这个也是vue生命周期中一个钩子,这个就是加载完组件,生成了DOM的时候,所这个可以用,需要对DOM进行操作的程序可以放在这里执行
1 | // 记性真是不好上一次还知道怎么用,下一次就又忘了 现在放在这 |
魔幻线条curvejs 这个感觉实用性不强
粒子特效插件particles-自己的文章
JParticles是多个特效的一个整合
shape-shifter 用粒子组成文字
shape-shifter Demo
anime.js 动画库 其实跟上面的不同 但可以用这个做许多特效 而且例子不错
GreenSock-JS 动画库 这个动画的例子真的很棒
GreenSock-JS DEMO
TweenMax的实例
TweenMax的实例2
看来TweenMax用来做菱形这个背景应该是很拿手的 有空可以看一下
使用方法:
1 | <!-- 动画容器 --> |
注意: 如果下次样式还出现偏移,就按原来官方的试试 使用#particles-js 写样式
大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方。可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上console.log
先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台
这里只总结了一些只针对APP页面开发的框架.像妹子UI,ZUI,semantic-ui等一些既能开发pc端页面,也能开发APP页面的框架,就不在这里记录了. 可以看这里 不错的前台框架 总结 Semantic UI,slicy,Amaze ui 等等
MUI: 这是个新的UI,应该是国产的.而且还有一整套解决方案.而且有个不错的IDE,所以这个以后可以试试.后台用的是自己的 HTML5+替代手机浏览器内核也就是增强版,Native.js为调用手机硬件的js插件
Ionic: 这个不光是个UI库 他和 AngularJS 结合特别深.所以可以算是一套APP解决方案.其他的 UI框架都必须用jquery,Zepto.js,React 等js框架才能使用.
framework7: 这个刚开是因为类似IOS原生页面受到瞩目,而且速度很快.现在也支持安卓,不过貌似不是那么特别好.
参考文档
官方网站
Mint UI: 基于 Vue.js 的移动端组件库 这个可以快速开发不过就是太简单了 不够好看
官方网站
这套教材非常好 非常适合我.
Webpack傻瓜式指南(一)
Webpack傻瓜指南(二)开发和部署技巧
Webpack傻瓜指南(三)和React配合开发
不过有个小问题: 里面的方法不能加括号app.appendChild(sub());
这个应当这么写 app.appendChild(sub);
这个错误原因可能是他手误了
1 | //之前 |
Vue Start Kit: 一个国内搞的用 Vue+Bulma UI 开发的后台模版.不过我在本地测试时报错 已经没问题了,必须用cnpm 安装node-sass才可以.
Demo地址: http://vue-kit.gismall.com/
父组件和子组件之间通信用广播: vue可以用多种方法实现组件间沟通,比如用一个属性,
不过这必须用上同步 :test.sync
要不然子组件的状态父组件不知道.
但是这有个问题就是不利于解耦,捆绑太紧密了不能复用了,所以还是用广播.
不过还是有个小小的疑问,如果两个同名事件怎么办呢?? 按文档里说是第一个,那可能是父组件加载子组件的顺序吧
我想可能是这样的,如果存在同名的话,那就得手动调整顺序,我感觉最好不要同名.
v-bind:fields=”columns” 绑定解释: 有时用简写就比较懵,简单记忆下: 如果原有属性就是绑定属性到vue属性.如果不是自带属性,那就是组件自定义的.比如 :fields="columns"
这里就是一个. fields 子组件 : columns 父组件. 反正等号后面都是当前组件的.可以看下面例子.