摘要:
有时候,向服务端请求一个实体,我们希望返回如下的格式:links: [ href: http://localhost:8901/api/user/diaries/2013-08-17, rel: "self", method: "GET", isTemplated: false],currentDa... 阅读全文
摘要:
通常情况下Server是无状态的,在ASP.NET Web API中,我们可以让服务端响应体中产生ETag属性,起到缓存的作用。大致实现原理是:1、服务端的响应体中返回一个ETag属性2、客户端通过If-None-Match属性把ETag的属性值传递给服务端3、服务端返回304状态码响应体中返回ET... 阅读全文
摘要:
在ASP.NET Web API中,当我们的API发生改变,就涉及到版本问题了。如何实现API的版本呢?1、通过路由设置版本最简单的一种方式是通过路由设置,不同的路由,不同的版本,不同的controller。config.Routes.MapHttpRoute( name: "Food", ... 阅读全文
摘要:
本篇涉及ASP.NET Web API中的返回数据合适和依赖注入。获取数据public IEnumerable Get(){ var results = reop.GetAllFoods() .OrderBy(f => f.Description) .Take(25... 阅读全文
摘要:
1、描述需求。这时候需求可能不够具体,是一个笼统大概的状态。有时,就是几句话。2、把需求尽量细化、具体化,然后列出来。3、可视化需求。比如通过思维导图的方式把需求列举出来。4、梳理功能结构。把完整的功能结构列举出来,包括页面上的元素,甚至是交互流程。5、画原型。根据功能结构画原型。很多情况下,边调整... 阅读全文
摘要:
在AngularJS中module是一个核心的存在,包括了很多方面,比如controller, config, service, factory, directive, constant, 等等。在Javascript中如何实现类似module的功能呢?或者说,我们定义一个函数,如何把函数内的函数向... 阅读全文
摘要:
本篇体验在AngularJS中实现在"显示/隐藏"这2种状态切换间添加动画效果。通过CSS方式实现显示/隐藏动画效果思路:→npm install angular-animage→依赖:var app = angular.module("app",["ngAnimate"]);→controller... 阅读全文
摘要:
假设需要烹饪一道菜肴,有3种原料,可以同时使用所有的3种原料,可以使用其中2种,也可以使用其中1种。如果以Directive的写法,大致是:,或者是...由此,我们需要自定义一个名称是bread的directive,以元素的方式呈现;需要自定义名称是material1的direcitve,名称是ma... 阅读全文
摘要:
有时候,自定义的Directive中需要调用controller中的方法,即Directive与controller有一定的耦合度。比如有如下的一个controller:app.controller('MyCtrl',function($scope){ $scope.load = functio... 阅读全文
摘要:
AngularJS中,当需要自定义Directive时,通常返回一个对象,就像如下的写法:angular.module('modulename') .directive('myDirective', function(){ return { restrict... 阅读全文
摘要:
如何让controller之间共享数据呢?大致是让不同controller中的变量指向同一个实例。通过service创建一个存放共享数据的对象。.service("greeting", function Greeting(){ var greeting = this; greeting.... 阅读全文
摘要:
AngularJS中为我们提供了一些内置的过滤器,这里列举一些自定义过滤器的场景。自定义过滤器,不带参赛//过滤 不带参赛app.filter('ordinal', function () { return function (number) { if (isNaN(number... 阅读全文
摘要:
当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的:然后,在controller中定义各个字段以及验证。angular-formly就是为这个需求而存在。在controller中,把各个字段定义在数组中:vm.rentalFields... 阅读全文
摘要:
名称为"ngMessages"的module,通过npm install angular-messages进行安装。在没有使用ngMessages之前,我们可能这样写验证: Username is too short. Username is too long. Your ... 阅读全文
摘要:
本篇使用AngularJS实现订阅某个API服务。首页大致是:其中,what's on显示首页内容,Search通过输入关键词调用API服务显示到页面,MyShows显示订阅的内容。Sarch页界面如下:通过在搜索框中输入关键词,把查询到信息显示在当前页面,并且可以点击订阅和取消订阅按钮。My Sh... 阅读全文
摘要:
关于AngularJS中module的导入导出,在Bob告诉我之前还没写过,谢谢Bob在这方面的指导,给到我案例代码。在AngularJS实际项目中,我们可能需要把针对某个领域的各个方面放在不同的module中,然后把各个module汇总到该领域的一个文件中,再由主module调用。就是这样:以上,... 阅读全文
摘要:
gulp用来优化我们的workflow。全局安装:npm install --global gulp项目安装:npm install --save-dev gulp运行gulp:gulp引用使用:gulpfile.js放在项目根目录下var gulp = require('gulp');gulp.t... 阅读全文
摘要:
本篇记录一些AngularJS结合使用ES6的各种写法。ES6中module的导出导入class MainController { constructor(searchService){ this.searchService = searchService; } ... 阅读全文
摘要:
本篇主要整理使用AngularJS进行过滤排序的思路。在controller中,$scope的persons字段存储数组。$scope.persons = [ { "name": "aa", "email": "aaemail", "birthdate... 阅读全文
摘要:
AngularJS的表单验证大致有两种,一种是手动验证,一种是自动验证。手动验证所谓手动验证是通过AngularJS表单的属性来验证。而成为AngularJS表单必须满足两个条件:1、给form元素加上novalidate="novalidate";2、给form元素加上name="theForm"... 阅读全文
摘要:
本篇实践一个案例,大致是:左边有导航菜单,右边显示列表,并可对列表项编辑或删除,也可添加新的列表项。借此,可体会到:如何组织可扩展的AngualrJS文件结构,如何点击左侧菜单项右侧显示相应内容,angular-ui-router的使用以及嵌套state,增删改查,等等。大致如下:当点击添加按钮:当... 阅读全文
摘要:
在上一篇中实现了增删改查,本篇实现分页和过滤。本系列包括:1、前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查2、前端使用AngularJS的$resource,后端ASP.NET Web API,实现分页、过滤后端添加分页、排序逻辑首先要在后端API... 阅读全文
摘要:
AngularJS中的$resource服务相比$http服务更适合与RESTful服务进行交互。本篇后端使用ASP.NET Web API, 前端使用$resource,实现增删改查。本系列包括:1、前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查2... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能。官网:https://lodash.com/引用:安装:npm install lodash首先通过npm安装lodash:npm i --save lodash在js文件中引用lodash:var _ = requi... 阅读全文
摘要:
理解Javascript的闭包非常关键,本篇试图用最简单的例子理解此概念。function greet(sth){ return function(name){ console.log(sth + ' ' + name); }}//hi darrengreet('hi')(... 阅读全文
摘要:
在Javascript中,bind, apply, call方法都可以显式绑定上下文this,这三者有何不同呢?bind只绑定this不马上执行var person = { firstname: 'darren', lastname: 'ji', getFullName: func... 阅读全文
摘要:
● let●variable hoisting● arrow Function, Lambda表达式●Destructuring Assignments 解构赋值●默认参数值 Default Parameters●可变参数●解构参数●解构数组●解构对象●遍历●Generators●String Te... 阅读全文
摘要:
本篇总结几种在WebStorm下使用ES6的方式。首先要选择Javascript的版本。依次点击"File","Settings","Languages & Frameworks","Javascript",在"Javascript Language Version"中选择"ECMAScript6"... 阅读全文
摘要:
什么是GRUNT?基于任务的命令行工具。能做的事包括:● 验证html,css, javascript● 压缩css, javascript● 编译CoffeeScript, TypeScript, etc● 编译Less● 等等Pacakge.json描述项目的元数据。{ "name": "... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。本篇主要涉及UI-Route的嵌套State。假设一个主视图上有两个部分视图,部分视图1和部分视图2,主视图对应着一个state,两个部分视图分别对应state1和state2,那state与state1和state2形成了嵌套关系。... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。主要包括:● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI-Router的onEnter和onExit事件AngularJS路由系列包括:1、AngularJS路... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。主要包括:● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数AngularJS路由系列包括:1、AngularJS路由系列(1)--基本路由配置2、AngularJS路由系列(2... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。AngularJS路由系列包括:1、AngularJS路由系列(1)--基本路由配置2、AngularJS路由系列(2)--刷新、查看路由,路由事件和URL格式,获取路由参数,路由的Resolve3、AngularJS路由系列(3)-... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。主要包括:● 刷新路由● 查看当前路由以及所有路由● 路由触发事件● 获取路由参数● 路由的resolve属性● 路由URL格式AngularJS路由系列包括:1、AngularJS路由系列(1)--基本路由配置2、AngularJS... 阅读全文
摘要:
本系列探寻AngularJS的路由机制,在WebStorm下开发。主要包括:● 路由的Big Picture●$routeProvider配置路由●使用template属性●使用templateUrl属性●redirectTo属性,接受字符串●redirectTo属性,接受函数●使用caseInse... 阅读全文