Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Angular #6
Search
Danila Marchenkov
August 19, 2017
Programming
79
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Angular #6
Danila Marchenkov
August 19, 2017
More Decks by Danila Marchenkov
See All by Danila Marchenkov
Rxjs
sprit3dan
0
110
angular6
sprit3dan
0
80
angular5
sprit3dan
0
62
angular#4
sprit3dan
0
170
angular#3
sprit3dan
0
54
angular#2
sprit3dan
0
44
Angular#1
sprit3dan
0
73
HTML 5 Canvas
sprit3dan
0
55
Angular #5
sprit3dan
0
130
Other Decks in Programming
See All in Programming
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
410
FreeBSDでZabbixを動かす
kenkino
0
340
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
600
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.4k
一人だけ、Kiroが静止する日
hideg
0
140
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
390
すこし踏み込む CancellationToken
htkym
2
1.5k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.2k
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
240
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.5k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
350
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
A designer walks into a library…
pauljervisheath
211
25k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
4 Signs Your Business is Dying
shpigford
187
23k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Transcript
AngularJS 1.5.x Marchenkov Danila, Software Developer
AngularJS DI
.config() Gets executed during the provider registrations and configuration phase.
Only providers and constants can be injected into configuration blocks.
.run() Gets executed after the injector is created and are
used to kickstart the application. Only instances and constants can be injected into run blocks
implicit annotation • ng-annotate • strict-di • $inject someModule.controller('MyController', function($scope,
greeter) {
angular.module('myApp', []) .factory('willBreak', function($rootScope) { // $rootScope is implicitly injected
}) .run(['willBreak', function(willBreak) { // AngularJS will throw when this runs }]); var MyController = function($scope, greeter) {} MyController.$inject = ['$scope', 'greeter']; someModule.controller('MyController', MyController); npm install -g ng-annotate
manual bootstrapping angular.bootstrap(document, ['myApp']);
npm install angular-animate ngAnimate
ngAnimate support
API • CSS-animations • css class hooks • ng-enter •
ng-leave • JS-animations • module.animation() api
Animation JS api myModule.animation('.slide', [function() { return { enter: function(element,
doneFn) { jQuery(element).slideIn(1000, doneFn); } } }]); .slide.ng-enter { transition:0.5s linear all; transform:translateY(-100px); } .slide.ng-enter.ng-enter-active { transform:translateY(0); } <div class="slide"> Slide in and out </div>
$animateCss myModule.animation('.slide', ['$animateCss', function($animateCss) { return { enter: function(element) {
return $animateCss(element, { event: 'enter', structural: true, addClass: 'maroon-setting', from: { height: 0 }, to: { height: 200 } }); } } }]);
$http.get(‘/some/endpoint’) .then(res => { if (!!res.data) { this.someData = res.data;
} });
npm install angular-resource ngResource
let User = $resource('/user/:userId', { userId: ’@id’ }); let user
= User.get({ userId: 123 }, () => { user.abc = true; user.$save(); });
{ 'get': { method:’GET’ }, 'save': { method:’POST' }, 'query':
{ method:'GET', isArray:true}, 'remove': { method:’DELETE' }, 'delete': { method:’DELETE' } }; var app = angular.module('app', ['ngResource', 'ngRoute']); app.factory('Notes', ['$resource', function($resource) { return $resource('/notes/:id', null, { 'update': { method:'PUT' } }); }]); app.controller('NotesCtrl', ['$scope', '$routeParams', ‘Notes', function($scope, $routeParams, Notes) { var note = Notes.get({ id: $routeParams.id }); $id = note.id; }]);
XSS
npm install angular-sanitize ng-sanitize
https://plnkr.co/edit/hFzZqLfk7beFxYXlzOlJ
$sce Strict Contextual Escaping
–Johnny Appleseed “Type a quote here.”
little more • ng-cookies • ng-messages • ng-mock • ng-touch