去掉单页应用中的可恶的'#' (hashbang)

随着谷歌开始支持对Ajax站点应用的抓去,那么Angular,Vue或者其他单页应用(SPA) 网站的seo将变得容易得多。但是 # hashbang 符号有着一定的限制。或者那些执着于伪静态url的追求的话,一定是想尽办法去掉这个符号。修改完成之后大家可以参考这个站点fadeit.dk 如何转换为静态路由以及开启html5 mode 前面的例子,大家可以明显看到url中失去了#,我们看下angular中的代码吧: angular.module('main', []).config(['$locationProvider', function($locationProvider) { ... $locationProvider. 详情 »

十个由浅入深的Angular.js面试问题

虽然只有10个问题,但是覆盖了angular开发中的各个方面,有基本的知识点,也有在开发过程中遇见的问题,同时也有较为开放性的问题去辨别面试者的基础水准和项目经验(PS:答案仅供参考~)。 1. ng-show/ng-hide 与 ng-if的区别? 我们都知道ng-show/ng-hide实际上是通过display来进行隐藏和显示的。而ng-if实际上控制dom节点的增删除来实现的。因此如果我们是根据不同的条件来进行dom节点的加载的话,那么ng-if的性能好过ng-show. 2.解释下什么是$rootScrope以及和$scope的区别? 通俗的说$rootScrope 页面所有$scope的父亲。 我们来看下如何产生$ 详情 »

使用ES2015开发Angular1.x 应用指南

关键词:架构, 文件结构, 组件, 单向数据流以及最佳实践 来自 @toddmotto 团队的编码指南 Angular 的编码风格以及架构已经使用ES2015进行重写,这些在Angular 1.5+的变化可以更好帮助您的更好的升级到Angular2.。 这份指南包括了新的单向数据流,事件委托,组件架构和组件路由。 老版本的指南你可以在这里找到, 在这里你能看到目前最新的. 目录 模块架构 基本概念 根 模块 组件模块 公共模块 详情 »

[译]使用karma进行angular测试

紧随前文如何对Angular Controller进行单元测试, 但是我们也提到了前文工作流程的不方便,简单总结上前文进行测试的一个流程: 修改测试代码; 刷新浏览器; 查看测试结果; 该方法最大的缺陷就是,我们每次都得手动的去刷新我们的浏览器。但是如果我们需要测试不同的浏览器我们又应该如何处理呢? 而本文将提出一个自动化测试的方案,从而解决这些问题。 关于Karma Karma是一个由AngularJS 团队创造的JavaScript测试工具。前面我们写过了Jasmine的一篇文章《开始对Angular App进行单元测试》 而Karma提供了非常有用的工具去帮助我们进行Jasminede的测试。 安装 Karma 你在这里可以看到更为详细的安装文章,而本文随后也会概括总结一些。首先你得安装node.js,如果安装了则跳过, 详情 »

[译]如何对Angular Controller进行单元测试

上面一篇文章简单介绍了如何使用 Jasmine 进行JavaScript的单元测试 我们用了一段简单的代码进行计算的测试。 接下来我们将其延伸到我们对Angular Controller的测试中。如果你不太了解angular也没关系,下文也会提及关于Angular的一些知识。 写个简单的Angular App 在开始写测试之前,我们先写一个简单的计算App,它会计算两个数字之和。 代码如下: <html> <head> <script type="text/javascript" src= 详情 »

[译]开始对Angular App进行单元测试(1)

这是一些列文章,陆续翻译整理中... 原文地址:http://www.bradoncode.com/blog/2015/05/12/angularjs-testing-getting-started/ @ Bradley Braithwaite 前言 在写测试之前,我们还得对基础的JS的单元测试框架和如何写测试用例等一些问题做一个简要的介绍。 先说说 jasmine ,它算作一个行为驱动开发(behaviour driven development,BBD)的 JavaSciprt的框架, 详情 »