kRouter
-
Upload
kelp-chen -
Category
Technology
-
view
109 -
download
0
description
Transcript of kRouter
![Page 2: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/2.jpg)
Kelp
github/kelp404!� iOS App Developer!� Front-end Developer!Objective-C, CoffeeScript, Python
![Page 3: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/3.jpg)
kRouter
Reason!CoffeeScript!kRouter!Unit Test!Conclusion
![Page 4: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/4.jpg)
kRouter
SEO!location.hash `#`
![Page 5: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/5.jpg)
CoffeeScript
���������
![Page 6: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/6.jpg)
CoffeeScript
![Page 8: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/8.jpg)
CoffeeScript
![Page 9: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/9.jpg)
JavaScript
}}
}}
![Page 10: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/10.jpg)
CoffeeScript
![Page 13: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/13.jpg)
JavaScript
function (members, name) { var result = []; for (var index = 0; index < members.length; index++) { if (members[index].name == name) { result.push(members[index]); } } return result; }
![Page 14: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/14.jpg)
CoffeeScript
(members, name) ->x for x in members when x.name is name
![Page 15: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/15.jpg)
JavaScript
$(function () {$(document).on(‘click’, ‘#link’, function () {
var s = $(‘#text’).text();$(this).html(‘Hello ‘ + s + ‘!!’);
});});
![Page 16: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/16.jpg)
CoffeeScript
$ ->$(document).on ‘click’, ‘#link’, ->
s = $(‘#text’).text()$(@).html “Hello #{s}!!”
![Page 17: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/17.jpg)
JavaScript
angular.module(‘app’, []).controller(‘HomeController’, function ($scope) {
$scope.text = ‘hello’;});
![Page 18: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/18.jpg)
CoffeeScript
a = angular.module ‘app’, []a.controller ‘HomeController’, ($scope) ->
$scope.text = ‘hello’
![Page 19: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/19.jpg)
CoffeeScript
npm install -g coffee-script
![Page 20: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/20.jpg)
kRouter
Routes!history.pushState()!window.onpopstate
![Page 21: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/21.jpg)
kRouter
common.coffee!directive.coffee!module.coffee!provider.coffee
![Page 22: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/22.jpg)
common.coffee
getUri: (href=location.href) ->!matchRoute: (url, routes) ->!parseQueryString: (queryString) ->
![Page 23: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/23.jpg)
directive.coffee
kr-view!kr-go
![Page 24: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/24.jpg)
module.coffee
angular.module 'kRouter', [ 'kRouter.provider', 'kRouter.directive' ]
![Page 25: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/25.jpg)
provider.coffee
$kRouterProvider.register = (name, args={}) ->!routers: []!state: current: {} params: {}!go: (href, push=true) ->
![Page 26: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/26.jpg)
Unit Test
Travis CI!karma!jasmine
![Page 27: kRouter](https://reader034.fdocuments.in/reader034/viewer/2022051314/54c68cc04a795962378b4628/html5/thumbnails/27.jpg)
Conclusion
npm install -g coffee-script!git clone https://github.com/kelp404/kRouter.git cd kRoutergit submodule update --init