V2EX lulin
 lulin 最近的时间轴更新
lulin

lulin

V2EX 第 129476 号会员,加入于 2015-07-29 14:56:25 +08:00
lulin 最近回复了
2019-01-31 10:37:18 +08:00
回复了 NuckyThompson 创建的主题 Markdown MWEB 用的人多吗?配合 Hexo 感觉用的飞起
几十块钱都不直接去 app store 买...做活动的时候才 50 左右
2017-10-22 11:01:57 +08:00
回复了 gouchaoer 创建的主题 PHP 我也来吐槽 PHP 最垃圾的地方
@laoma 不好意思,我用 JS 得罪大佬了~请问大佬用什么?
2017-10-22 10:47:49 +08:00
回复了 gouchaoer 创建的主题 PHP 我也来吐槽 PHP 最垃圾的地方
-。- 哈哈

Javascript -> typescript

严格 null 和 any

// 声明下类型
let arr: string[] = []
// 正常
arr[0] = '0'
// 提示 number -> string warn
arr[1] = 0
// 提示 string is not assignable to number
const result: number = arr[2] + 1
// 提示 string 没有 test
arr[3].test

=.= 我如果说 JS 是最好的语言,你们怎么看~
2017-02-15 15:17:50 +08:00
回复了 shangguanyiyi 创建的主题 程序员 vue/react/angular 哪个更容易学
学习路线:
React => Vue => NG2

这三个资料都看官方文档就行了。
NG2 如果新概念多,可以看下大漠的视频:
资料: https://my.oschina.net/mumu/blog/831790#comment-list
视频: https://my.oschina.net/mumu/blog/834254#comment-list

第一次 React 大楷一周适应,后面就很快了。
学完 React 学 Vue 大楷需要 1 小时, NG2 大楷需要 1 天,看你平时关注没了。
2016-12-31 09:51:42 +08:00
回复了 gevin 创建的主题 程序员 2017 年,从零开始学前端开发,有推荐的技术栈么?
@zhghaha 你开发大点的纯 vue 不行的,通信会蛋痛。然后 vue 2.0 升级后,去除了周边的支持,都以 plugins 的方式支持,然后 vuex 添加完整了该有的东西: states, actions, mutations, getters ,其实在 vue 1.x 的时候我记得挺简单的,因为那时候 vuex 的声明是放入 new Vue 实例声明的属性中的。然后 vue 2.0 的时候,由于 getter 的概念与 computed 的概念冲突,所以取消了数据 state 的双向 observe ,然后现在的流程就变成了下面的样子:
1. 需要再 vuex 的 store 部分声明以下四个东西:
- state 初始化数据
- actions 执行的动作,这里对应 dispatch 异步模型
- mutations 突变的动作,这里对应 commit 同步模型
- getters 数据操作的方法,其实就是对应 ng2 Services 的大部分功能

2. 在 state 的同步上,需要引入声明的 getters 才能对数据进行映射 view 层

3. vuex 对外主要有两个钩子:
- mapGetter => 返回 getters 的方法,用于 computed
- mapActiOns=> 执行方法的行为描述

之前由于直接绑定给 actions 到当前 Vue 实例 this 上,所以出现重名的情况,这里依然避免不了。
接下来就是要执行操作,有两种方式:
- methods: { ...mapActions([]) } => 这里蛋痛的是又要重新声明一次 action type
- this.$store.dispatch or this.$store.commit => 这是本来的入口

然后上面的东西其实显得累赘和多余,对于 redux + redux-thunk 的用法, React 的用法其实更加简单
1. state 初始化数据,这个肯定需要的
2. actions 这里只是需要声明到 actions 文件
3. mutations 其实这个就没多大必要的了,你 action 过去,同步和异步都是可见的声明代码
4. getters 其实尤小右也说了,就是 function ,然后这里提取了概念,其实在 redux 中的 reduce 本身就是 function , function 之间的调用其实已经不足以是一个概念,并且如果你不注意,由于 vue 的计算属性,你需要声明到计算属性中,其实这就相当于 React 的 setState 方法,当时从声明和代码本身来说, React 的更加直接暴力,直接在组件声明一次即可。

最后 map 其实这里 React 你只需要在 Containers 容器中进行操作,样板代码。最后顺势 props 的传递过程, vue 那边有 v-bind 和普通的方式,所以其实对于 dump 类的组件,对于外部更新的接口是好声明的,并不需要 bind 的概念。

由于这次升级,其实 vue 1.x 之前的简单优势并不明显,如果你是对视图层依赖,不引入过多, React 其实更加简单,可调试性更强,每一个环节都是入口声明,然后走 function 这个流程,直接 debugger ,对于 vue computed 那层其实对于调试已经是黑盒,如果 getters 那里你声明掉了,你会发现不报错,并且不知道从哪里调试入手。

好吧,我最后只是来安利一下 React~还有就是表示 vue 2.0 早已不是简单当初宣传的 vue 1.x 形态。对于中小型项目选择来讲意义并不大,工程化的解决方案至少都应该是中大型项目,比如以前网页很简答的时候,也没人说需要 MVC(Backbone) 之类的东西, jQuery 足以,都是代码量上去了,长期迭代,才会想用一些手段来做优化和迭代平稳的事情。

综上: vue 2.0 基本上最终是 React 。就像尤小右说过,需求的雷同,导致框架趋同,所以学 React 吧,方向是一直对的。
2016-12-30 22:57:06 +08:00
回复了 gevin 创建的主题 程序员 2017 年,从零开始学前端开发,有推荐的技术栈么?
框架学 React 和 Vue ,生态学 Webpack, NodeJS, Gulp 等等,只要你忙的过来。。。都可以。
2016-12-30 22:55:54 +08:00
回复了 gevin 创建的主题 程序员 2017 年,从零开始学前端开发,有推荐的技术栈么?
看红皮书《 Javascript 高级程序设计》和 CSS 好好学。
2016-12-15 10:18:59 +08:00
回复了 FrankFang128 创建的主题 Javascript 这会是 2016 年前端的年末撕逼吗?
@Sunkist 别个尤小右说了没推广
2016-12-15 08:44:19 +08:00
回复了 FrankFang128 创建的主题 Javascript 这会是 2016 年前端的年末撕逼吗?
楼主这是要搞事,还拿语言说事,不都是拿着就开写,写的好不好是另外回事,就像大家都说写 css 简单,妈蛋,效果复杂点,浏览器一哄炸,就等哭…最后说,净扯这些没用的效果,但是用户乐意呀。
不知道出了问题哪个响应快一些,以及赔偿损失的时候快速一点。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6087 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 17ms UTC 02:38 PVG 10:38 LAX 19:38 JFK 22:38
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86