AngularJs斗争经验总结(一)

AngularJs 非常强大,它彻底摆脱了传统的前端开发方式,无缝的进行数据绑定,使用它做前端开发着实方便快速。最近开始使用它做项目开发,过程中吃了不少瘪,特此记录一下。

使用自身特性

开始使用AngularJs开发时,还是难免摆脱传统的思维方式,有些地方仍然使用Jquery动态修改数据和绑定事件(会被耻笑啊),其实AngularJs提供的特性已经能够满足我们大部分的需求。拿 inputselect 标签举例说明:

  1. input 不要使用 value 属性,尽可能使用 ng-model 指令。数据变化时,不会存在 value 和 defaultValue 不一致的问题。
  2. 尽可能使用 ng-keyupng-blurng-click 等指令进行事件处理。避免使用Jquery进行DOM绑定。
  3. select 要使用 ng-modelng-options 指令,这将大大减少模板的复杂度。

(更多…)

继续阅读

作为程序员最应该阅读的21本书籍

Stack Overflow上有网友提问,每个程序员应该阅读的最具影响力的书籍有哪些?他说:“如果能够回到以前,作为一个开发者,告诉自己在开始自己的职业生涯时应该阅读那些书籍,我希望这个列表内容丰富,涵盖范围广泛”。问题得到广大网友的积极响应,整个过程得到了213个回复,最终投票得出了94本有价值的书籍。我们摘取前21本书推荐给大家。 (更多…)

继续阅读

语义化版本(SemVer)的范围

在使用 Node.jsBower 的时候,其中的 package.jsonbower.json 都会有 dependenciesdevDependencies 项,对于此前端开 发的童鞋应该会比较熟悉。这里面是运行时和开发时依赖库,其中依赖库对应的版本号有很多种写法,诸如:”~1.0.2“, “^1.0“, “>=1.0.2“等,其实可以猜测这种写法代表了某种范围,至于具体含义本文给大家做详细解释。

语义化版本格式

我们首先简单了解一下语义化版本版本号,标准的版本格式为:X.Y.Z,其中:
X:主版本号,当我们做了不兼容或者颠覆性的更新,修改此版本号。
Y:此版本号,当我们做了向下兼容的功能性修改,修改此版本号。
Z:修订号,当我们做了向下兼容的问题修正,修改此版本号。
其中XYZ必须为非负整数,禁止数字前补零,每个数值都是递增的。 (更多…)

继续阅读

参与 GitHub 开源项目

GitHub 是一个基于 git 的代码托管平台,越来越多的个人和公司纷纷加入到 Github 的大家族里来,为开源事业尽一份自己的力量。对于个人来讲,把自己的项目托管到 Github 上并不表示你参与了 Github 开源项目,只能说你开源了自己的项目,可以任别人自由下载。那么该如何参与 Github 的开源项目呢?最近自己参与了一个地图插件项目,在此把开源的概念和参与的过程给大家分享一下。

关于项目成员

一般来说,每个项目通常由一个社区来维护,社区又由不同角色的用户组成。

  • Owner:所有者,即创建该项目且在他们 Github 账户上有该项目的用户或组织。
  • Maintainers and Collaborators:维护者和协作者, 致力于一个项目并促进该项目发展的用户。通常所有者和维护者是同一个用户或组织,他们对项目库都有写入的权限。
  • Contributors:贡献者,每一个对该项目发出过 pull request 并合并到项目中的用户都是贡献者。
  • Community Members:社区成员,即那些经常使用且非常关心该项目的用户,他们在讨论功能特征和 pull request 上非常活跃。

(更多…)

继续阅读

JVectorMap 区域名称和聚焦

固定区域名称也是新增的功能,在每个区域的中心位置会展示区域的名字,显示固定名称时,悬浮名字会自动关闭。这需要地图数据的支持(<1.3.1版本数据不支持),目前在dist/assets/data/china目录中的区域数据文件都支持此功能。另外使用转化器转化时(jmap-plus-converter)需要确保shapefile中有名字的经纬度。

聚焦是原本支持的功能,配置中指定需要聚焦的区域名称即可,视图初始化时会自动聚焦指定的区域,然后你可以点击缩放看完整地图。 (更多…)

继续阅读

JVectorMap 路线图

路线图是新增的功能,可以把铁路、高速、国道、省道甚至乡村道路等绘制出来。生成路线数据需要有对应的shapefile,要有路线名字属性。另外如果数据文件较大,可以使用 ArcGis 加以泛化处理或者使用 jmap-plus-converter 配置中的 lineInterval 选项,关于转化器的配置请参考README.md

同标记图一样,制作路线图的步骤为:

  • 增加路线数据或者引入数据文件;
  • 在配置中给 lines 赋值;

(更多…)

继续阅读