Skip to Content
AngularJSアプリケーション開発ガイド
book

AngularJSアプリケーション開発ガイド

by Brad Greeni, Shyam Seshadri, 牧野 聡
April 2014
Intermediate to advanced
220 pages
4h 7m
Japanese
O'Reilly Japan, Inc.
Content preview from AngularJSアプリケーション開発ガイド
38
2
章 
AngularJS
アプリケーションの構造
2.3.12
watch()
のパフォーマンス
このコードは正しく機能しますが、パフォーマンスの面で問題を引き起こす可能性があります。
気づかれにくいのですが、
totalCart()
関数の中に
debugger
文を追加してブレークポイントを
設定してみましょう。ページの描画が終わるまでの間に、この関数が
6
回も呼び出されていること
がわかります。この程度の例では大差はありませんが、より複雑なアプリケーションでは
6
回の呼
び出しが大きな問題になるでしょう。
なぜ
6
回も呼び出しが発生したのか考えてみましょう。
3
回については、呼び出し元を簡単に追
跡できます。
テンプレート(
{{totalCart() | currency}}
subtotal()
関数
$watch()
関数
そして、これら
3
回の呼び出しがもう一度繰り返されることになります。これは、モデルへの変
化が完了しているかどうかを確認するためのものです。
AngularJS
は監視対象のプロパティのコ
ピーを保持しており、これを現在の値と比較することによって変更の有無をチェックします。実際
に、変更内容が完全に伝播したかどうか確認するために
AngularJS
は最大
10
回までチェックを繰
り返します。
10
回チェックしても値が変化し続けている場合は、チェックは終了しエラーが発生
します。おそらくここでは依存関係がループしており、修正が必要です。
現時点ではこの点について配慮が必要ですが、将来的にはこのことが
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Haskellによる並列・並行プログラミング

Haskellによる並列・並行プログラミング

Simon Marlow, 山下 伸夫, 山本 和彦, 田中 英行
RStudioではじめるRプログラミング入門

RStudioではじめるRプログラミング入門

Garrett Grolemund, 大橋 真也, 長尾 高弘
アイソモーフィックJavaScript

アイソモーフィックJavaScript

Jason Strimpel, Maxime Najim, 牧野 聡

Publisher Resources

ISBN: 9784873116679Other