Angular 2 Core Igor Minar Tobias Bosch Video: http://goo.gl/PxARYM Follow up post: Script: https://docs.google.com/a/google.com/document/d/1UJ21sC3WJ1rVW0_bXG55RXSA8owY7hnpsBs205okwUs/edit# ng-europe 2014 video | follow-up post
ãAngularã®è³æã§ä½ãè¯ããã®ã¯ï¼ãã¨èããããã¨ãå¤ããªã£ã¦ãã¾ããã®ã§ãããã¦Angularè³ææ¢ãã®æéãçãããã«ãããã¤ã使ã£ã¦ãããµã¤ããªã³ã¯ãã¾ã¨ãã¾ããè¯ãè³æããã£ãããã®ããã°ãæ´æ°ãã¾ããèªãç®å®ã欲ããã¨ããã話ãããã¾ããã®ã§ãâ ããä»ãã¾ãããâ ãã®ä»ãã¦ãªããã®ã¯å¿ è¦ã«å¿ãã¦ç®ãéãã¨è¯ãã®ã§ã¯ã¨æãã¾ãï¼ããã¾ã§ãç®å®ã§ãï¼ã â : ã¾ãèªã¿ã¾ããã â â ï¼ å°ãæ £ãããèªãã â â â ï¼ä»äºã§ä½¿ãã å¦ç¿é 㯠YEOMANã§Angularãã¤ã³ã¹ãã¼ã«ã触ããªãã Angularæ¬å®¶ãè¦ã¤ã¤ Angular Style GuideãNinjaã§çè§£ãæ·±ãã ã§ããããï¼å¦ã³æ¹ã¯äººããããã§ãã®ã§ï¼ãä½ãã«ãã¦ãæãåããã®ãæè¯ã§ãã Angular 2 Angular is a development platform for building
AngularJSé»éè¡ã®ãã¡ã®1ã¤ãDIã ã³ã³ããã¼ã©ã¼ã®å¼æ°ã«$httpãªã©ãæå®ããã¨ããªãä½ãããªãã¦ãHttpProviderã®è¿ãå¤ãå ¥ã£ã¦ããã®ãã var userControllers = angular.module('userControllers', []); userControllers.controller('UsersCtrl', function($scope, $http) { $http.get('users/index.json').success(function(data) { $scope.users = data; }); }); function invoke(fn, self, locals){ var args = [], $inject = annotate(fn), length, i, key; for(i = 0, lengt
This is the first in a series of articles about the best practices Iâve learned to apply when working on single-page applications with AngularJS. It started out as a basic list of best practices for some colleagues who were just getting to know the framework. This series will provide in-depth information and arguments supporting my tips. As the title of the series suggests, this stuff is based on
ngResource ã¯åã«APIã®ã©ããã¼ã¨ããæãã§ã¯ãªãã¦ãJS ã§ãµã¼ãå´ã®ã¢ãã«ã¨ãã¾ãåæããããã«ä½ããã¦ããã æãç°¡åãªä¾ã ã¨ä»¥ä¸ã®ããã«ä½¿ãããEntry.get 㯠XHR ãå®äºããåã«ãã¨ãããã空ã®ãªãã¸ã§ã¯ããè¿ãããã«ãªã£ã¦ãããXHR ã®å®äºã¨ã¨ãã«ç ´å£çã«æ¸ãããããããããã«ãããentry ã®å¤æ´ãããå ¨ä½ã«ä¼ããããã«ãªã£ã¦ããã var Entry = $resource('/entry/:id'); $scope.entry = Entry.get({ id : 0 }); ããã©ã«ãã§å®ç¾©ããã¦ãã query/get/save/delete ã ããè¦ãã¨åã« REST API ã®ã©ããã¼ã®ããã«è¦ããããç¬èªã®ã¡ã½ããã追å ããã¨ããçè§£ããããã³ã¼ããæ¸ããã 以ä¸ã®ã³ã¼ãã¯ãããã©ã«ãã§ä¸æ¸ãç¶æ ã§çæããã Entry ãªãã¸ã§ã¯ãã
AngularJS ã«ã¯ ngResource ã¨ããæ¡å¼µããã£ã¦ããµã¼ãã«å¯¾ãã API çµç±ã® CRUD çæä½ã JavaScript ã®ãªãã¸ã§ã¯ãã¨ãã¦ã©ããã³ã°ã§ãããå ·ä½çã«ã¯ä¾ãã° var Entry = $resource('/entry/:id'); var entry = Entry.get({ id : 0 }, function () { entry.title = "yuno"; entry.$save(); // XHR (async) }); ã¨ãã§ãããã¡ãã£ã¨ãã£ããããã©ãæ¢åAPIã§ä½¿ããã¨ããã¨ãäºç´°ãªãã©ã¼ãããã®éãã§æ¡ã®å®ä½¿ããªãã£ãããããã©ããã¦ã使ã£ã¦ã¿ãããã©ããµã¼ããµã¤ãAPIã®ä»æ§ã¾ã§å¤ããããªãå ´åãè¥å¹²ç¡çç¢çãªæ¹æ³ã§ããç¨åº¦ãªã対å¿ããããã¨ãã§ããã ãµã¼ããµã¤ãã®ä»æ§ åæã¨ãã¦ä»¥ä¸ã®ãããªä»æ§ã ã¨ãã ã¨ã³ããªãªã¹ãå
ç¾å¨éçºæ å½ãã¦ãã AbemaTV ã§ãæ¨å¹´æ«ã«ããã½ããã¯ããã®ã¹ãã¼ããã¬ã VIERA åãã«ã¢ããªã±ã¼ã·ã§ã³ããªãªã¼ã¹ãã¾ãããAbemaTV ãªã¢ã³ã³ãã¿ã³ã§ AbemaTV ã«ã¢ã¯ã»ã¹ã§ãã¾ããä»åãã®ã¢ããªã±ã¼ã·ã§ã³ã® UI ãéçºããã«ããã£ã¦ãæ°ãããã¶ã¤ã³ã¯ã¼ã¯ããã¼ãå°å ¥ãã¾ããã æ¬è¨äºã§ã¯ã Story-Assured Design ã¨ãããã¶ã¤ã³ã¯ã¼ã¯ããã¼ããç¾å¨ãããã¯ãéçºã§ç´é¢ãã¦ãããã¶ã¤ã³ã®èª²é¡ã¨ã¨ãã«ç´¹ä»ãã¾ãã Story-Assured Design ã¨ã¯ï¼ Story-Assured Design ã¯ãã®ååã示ãã¦ããããã«ãã¦ã¼ã¶ã¼ã¹ãã¼ãªã¼ãä¿è¨¼ãããã¨ãç®çã¨ãã UI ãã¶ã¤ã³ã®ã¯ã¼ã¯ããã¼ã§ããUI ãã¶ã¤ã³ãï¼ã¤ã®ã¹ãããã«åãã¦è¡ãã¾ãã ã¹ãã¼ãªã¼ãã¶ã¤ã³ ãã¶ã¤ã³ã®æ§é å è¦è¦æ å ±ãã¶ã¤ã³ ä¸çªéè¦ãªã¦ã¼ã¶ã¼ã¹ãã¼ãªã¼ã®
AngularJSã®ç¹å¾´ã§ããããã¢ãã«ã¨ãã¥ã¼ã®2way bindingã AngularJSã®ç°¡åãªã³ã¼ããããã¨ãããï¼æç¨¿æç¹ã§ã¯v1.2.6ï¼ <body ng-app ng-init="message = 'nothing'"> <div ng-controller="SampleCtrl"> <input type="text" ng-model="message"> <br> <button ng-click="clearMessage()">Clear</button> <br> <span>{{getMessage()}}</span> </div> <script> var SampleCtrl = function($scope) { $scope.message = ''; $scope.clearMessage = function() { $scope.mes
JavaScriptãã¬ã¼ã ã¯ã¼ã¯ã«èå³ããããAngular.jsã使ã£ã¦ã¿ããããªã»ã»ã» ãããªç´çç¡å¢ãªããªããæ··æ²ã®ä¸ç´æ«ã«å¼ãããè¾¼ãã®ããã»ãã§ããªãTutorialãªã®ã§ãã Tutorialã§ã¯ã»ã¼Controllerããåºã¦ããªãã®ã§ãç´ ç´ã«ãã®éãæ¸ãã¦ããã¨ã¾ãééããªãï¼ã«ã¦ã³ãã§Controllerã«ã³ã¼ããéä¸ããããããFat Controllerã«ãªãããã£ããMVCãã¬ã¼ã ã¯ã¼ã¯ãå°çã®èéã«ãªãã¾ãã å®ã¯ãAngular.jsã§ã¾ãç®ãéãã¹ããªã®ã¯Developer Guideã®Conceptual Overviewã§ãããããèªãã°ã©ãå¦çãåå²ãããããã¡ãã¨æ¸ããã¦ãã¾ããã以ä¸ã§ã¯ããï¼çµé¨ããã¨ã«Angular.jsã§æ£ããMVCã使ç¨ããããã®ãã¤ã³ããã¾ã¨ãã¾ããã Angular.jsã®ï¼åå 1.Controllerã¯ã¤ãã³ããã³ã
AngularJS ãæ¬æ°ã§ã¤ããããã® tips æè¿ã管çç»é¢ã§ AngularJS ãã¤ãã£ã¦ã¿ã¦ããã ãããªä¸ã§ãããã¤ã工夫ããç¹ãããã®ã§ãããã·ã§ã¢ããã¦ããã ãã¾ãã XHR ã®ã¨ã©ã¼ã表示ãã XHR ã®ã¨ã©ã¼ããããéã®ãã³ããªã³ã°ããã¡ãã¡æã§ããã®ã¯éå¹çã管çç»é¢ã¨ãä¸ã®äººããã¤ãããªãã®ã§ãã¨ã©ã¼ãããã£ãæ¨ãéæå ±åããã ãã§ããã ãããªã±ã¼ã¹ã§ã¯ä»¥ä¸ã®ããã«ããã angular.module('myapp.exceptionHandler', []) .config(['$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push(function($q, $log, $rootScope) { return { 'responseError': function(
AngularJSã®åå¼·ä¼ã«åå ãã¦æ¥ã¾ããã300人ã®å®å¡ããã£ã¨ããéã«æºå¸ã«ãªãã¨ããäºã§æ³¨ç®ã®é«ãã伺ããåå¼·ä¼ã§ãããåå è ãçºè¡¨ã®å 容ããã©ã¨ãã£ã«å¯ãã§ãã¦ãããã大ããªé£èºãããã§ãããäºãæå¾ ãããçãã ãããã®å 容ã§ããã ä»åã¯Engine Yardããæè¦ªä¼ã®ã¹ãã³ãµã¼ããããã¦é ãã¨åæã«PHPã¨AngularJSã®é£æºã®LTãåç»ã®æ®å½±ãè¡ã£ã¦ãã¾ããã®ã§ç´¹ä»ããã¦é ãã¾ãã ng-mtg#4 AngularJS åå¼·ä¼ | é客ãªãã¤ãã³ãã¢ãã³ã http://atnd.org/event/E0021975/ ng-mtg#4 AngularJS åå¼·ä¼ #ng_jp - Togetterã¾ã¨ã http://togetter.com/li/598391 AngularJS 20min @naoya_itoããã«ããAngularJSã®å ¥éè¬åº§ãããªãã¿ã®
ããã³ãã¨ã³ãã®ãã©ãã¤ã ãåèã«ããã¯ã¨ã³ãéçºãåèãã / TypeScript ã«ãã GraphQL ããã¯ã¨ã³ãéçº
ããªãåããæ°ã«ãªã£ã¦ã¯ããã®ã§ãä»åº¦ãã使ã£ã¦ã¿ããã¨æã£ã¦ãAngularJSã使ãå§ããã Yo+Grunt+Bowerã使ãã¨ã¯ã¼ã¯ããã¼ãããªã楽ãªã®ã§ãããã«ã¾ã¨ãã¦ããã ã¾ãã 以ä¸ã®ï¼ã¤ã®ã½ããã¯ä½ãªã®ãã軽ãç´¹ä»ããã Yo: ããã¸ã§ã¯ãã®ãã³ãã¬ã¼ããªã©ãèªåçæããããã®ãã¼ã« Grunt: JSã®ã¿ã¹ã¯ã©ã³ãã¼ããã¹ãã®å®è¡ã¨ãããã¡ã¤ã«ã®çµåã¨ãèªåã§ããããã«ä½¿ãã Bower: Twitterã®åºãã¦ããJSã®ããã³ãã¨ã³ãç¨ã®ããã±ã¼ã¸ããã¼ã¸ã£ã¼ã ã»ããã¢ãã äºåã¤ã³ã¹ãã¼ã« Nodeã¨npmã®ã¤ã³ã¹ãã¼ã« ãã®ãã¼ã«ã使ãããã«NodeJSã¨npmãå¿ è¦ã«ãªãã®ã§ãã¾ããã®ã¤ã³ã¹ãã¼ã«ããã NodeJSã®ã¤ã³ã¹ãã¼ã«ã¯ãã©ãããã©ã¼ã ã«ãã£ã¦å¤ãã£ãããããã©ãWindowsã¨Macã®å ´åã¯å ¬å¼ãµã¤ãã®ãã¦ã³ãã¼ããã¼ã¸ããã¤ã³ã¹ãã¼ã©ã¼ããã¦
ãããã§Rails x AngularJSã§èª¿ã¹ãã¨ãAssetsã«AngularJSã追å ãã¦ããã®ãæ®éçãªãã¨ãããè¦ããã§ãããã®æ¹æ³ã ã¨YeomanããGrunt.jsã使ãããRails x AngularJSã§Karmaã§ãã¹ããæ¸ãããã¨ãã£ããã¨ãã§ããªãããAngularJSã®ä½æ³ã«ã®ã£ã¨ã£ãéçºãã§ããªãã®ãã¨ã¦ãã¢ã¤ã¢ã¤ãã¦ããã ã¦ãã¨ã§ãããããã¯Asset Pipelineã使ããªãæ¹åã§è¡ãã®ããã¹ããªããããªãã®ããã¨ããæ¹åã§è²ã æ¢ãåã£ã¦ããããåããããªãã¨ãèãã¦ããæ¹ãããããã§,ãããåèã«ãã¦ãã£ã¨ãã¼ã·ãã¯ãªæ çµã¿ãä½ã£ã¦ã¿ãã Asset Pipeline ã®æ©è½ã使ããªããªãï¼ãå¿é ãªããGrunt.jsãJSã³ã¼ãã®å§ç¸®ãSCSS, CoffeeScriptã®ã³ã³ãã¤ã«ãããã«Liveloadã®æ©æµ, ç»åã®å§ç¸®ããã¹ãã®èªåå®è¡ãã§
éçºãé²ããä¸ã§Serverãµã¤ãã¨åé¢ãã¦ããã³ããµã¤ãã®ã¿ã«éä¸ãã¦éçºããã¨æãã¾ããAngularJSã§ã¯ãµã¼ããµã¤ããã¢ãã¯ããAPIãç¨æããã¦ãã¾ãã使ã£ã¦ã¿ã¾ããã(Yoemançã¯ã¤ã³ãã¼ã«æ¸ã¿ãä»®å®ï¼ ã¾ããangular-mocks.jsã¨ããã©ã¤ãã©ãªãindex.htmlã§èªã¿è¾¼ã¿ã¾ããåæ§ã«mock.jsã¨ããããããä½ãã¹ã¯ãªãããèªã¿è¾¼ãããã«ãã¦ããã¾ãã # In index.html <script src="bower_components/angular-mocks/angular-mocks.js"></script> # mock.jsã¯ããããä½ã <script src="scripts/mock.js"></script> 次ã«ã¡ã¤ã³ã®app.jsã«ngMockE2Eã®ã¢ã¸ã¥ã¼ã«ã追å ãã¾ã # In app.js angular.mod
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}