çªç„¶ã§ã™ãŒã€angular.jsを使ã†ã¨ãã¯ã€jquery.jsã‚’èªã¿è¾¼ã¾ãªã„ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
angular.jsã¨jquery.jsã¯ã‚³ãƒ³ãƒ•リクトã¯ã—ã¾ã›ã‚“。ライブラリ的ã«ã¯å…±å˜ã—ã¾ã™ã€‚ã—ã‹ã—ã€ç°¡å˜ã«è¨€ãˆã°ã€angular.jsを使ã†å ´åˆã¯ã€jquery.jsを使ã†å¿…è¦ãŒãªã„ã®ã§ã™ã€‚jquery.jsã‚’èªã¿è¾¼ã¾ãªã„å ´åˆã€angular.jsã¯jqLiteã¨ã„ã†ã‚µãƒ–セットを使ã„ã¾ã™ã€‚ã¡ã‚ƒã‚“ã¨æ¤œè¨¼ã—ãŸã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“ãŒã€ã‚³ãƒ¼ãƒ‰ã‚’眺ã‚ã‚‹é™ã‚Šã§ã¯jqLiteã¯è»½é‡ãã†ã§ã™ã€‚
jquery.jsã‚’èªã¿è¾¼ã¾ãªã„ã»ã†ãŒã„ã„ç†ç”±ã¯è»½é‡åŒ–よりもã€ãƒžã‚¤ãƒ³ãƒ‰ã®å•é¡Œã®æ–¹ãŒå¤§ãã„ã§ã™ã€‚angular.jsã®ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚¹ã‚¿ã‚¤ãƒ«ã¨DOMæ“作ã¯åˆã„ã¾ã›ã‚“。angular.jsã§ã¯ã€$scopeを使ã£ã¦DOMをコンパイル(ã¨ã„ã†ç”¨èªžã§ã„ã„ã®ã‹ãªï¼‰ã•ã›ã‚Œã°ã„ã„ã®ã§ã™ã€‚ã“ã£ã¡ã®æ–¹ãŒãƒ‘ワフルã§ã‚·ãƒ³ãƒ—ルã§ã™ã€‚angular.jsを使ã„ã¤ã¤DOMæ“作ã™ã‚‹ã¨ã„ã†ã®ã¯ã€è»Šã«ä¹—ã£ã¦ã„ã‚‹ã®ã«è‡ªè»¢è»Šã‚’漕ã„ã§ã„るよã†ãªæ„Ÿã˜ã§ã™ã€‚ã¡ã‚‡ã£ã¨é•ã†ã‹ã€‚
ã¨ã„ã†ã‚ã‘ã§ã€jquery.jsã‚’èªã¿è¾¼ã‚€ã‹ã‚‰DOMæ“作をã—ãŸããªã‚‹ã‚ã‘ã§ã€ãれãªã‚‰èªã¿è¾¼ã¾ãªã‘れã°ã„ã„ã®ã§ã™ã€‚ã¨æ€ã£ã¦ã„ã¤ã¤ã€ã¨ã“ã‚ãŒã€æ—¢å˜ãƒ©ã‚¤ãƒ–ラリã®å¤šãã¯jquery.jsã«ä¾å˜ã—ã¦ã„ãŸã‚Šã™ã‚‹ã®ã§ã™ã€‚angular.jsã§ã¯ã€ãã†ã„ã†ã¨ãã¯ã€directiveã«ã—ã¦warpã™ã‚‹ã‚ˆã†ã«ã¨ã„ã†ã“ã¨ã®ã‚ˆã†ã§ã™ãŒã€ãã†ã™ã‚‹ã¨ã€jquery.jsã¯èªã¿è¾¼ã‚€ã“ã¨ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚ãれã§ã‚‚ã„ã„ã®ã§ã™ãŒã€ãªã‚“ã‹è² ã‘ãŸæ°—ãŒã—ã¾ã™ã€‚
jquery.jsを使ã‚ãªã„ã»ã†ãŒã„ã„ã¨æ€ã£ã¦ã„る人ã¯ã€ãã£ã¨ä»–ã«ã‚‚ã„ã‚‹ã¯ãšã€ã¨ã„ã†ã“ã¨ã§æ¤œç´¢ã—ã¾ã—ãŸã€‚
http://joelhooks.com/blog/2013/07/27/using-angularjs-stop-using-jquery-as-a-crutch/
ãã†ã§ã™ã‚ˆã€ä¹—りæ›ãˆã‚‹ãªã‚‰ã™ã£ã±ã‚Šã¨ä¹—りæ›ãˆã¾ã—ょã†ã‚ˆã€‚
stackoverflowã¸ã®ãƒªãƒ³ã‚¯ãŒã‚りã¾ã—ãŸã€‚
VoteãŒ3200ã‚’è¶…ãˆã¦ã„ã¾ã™ã€‚åˆã‚ã¦è¦‹ã¾ã—ãŸã€ãã‚“ãªæŠ•ç¨¿ã€‚
Don't even use jQuery. Don't even include it. It will hold you back.
ã„ã„ã“ã¨æ›¸ã„ã¦ã‚りã¾ã™ã€‚
åŒã˜äººã®ãƒ¡ãƒ¼ãƒ«ã§ã®æ›¸ãè¾¼ã¿ï¼ˆä¸Šè¨˜ãƒ–ãƒã‚°ã§ã‚‚言åŠã•れã¦ã„る)ã§ã¯ã€
You can wire up some callbacks and $apply calls to make a jQuery plugin work but as Pawel said, rewriting something in AngularJS often takes less work. jQuery doesn't have any of the binding or scope magic. When we cut out all of the jQuery code that makes up for that, we're often left with very little code. And when we put those few lines of code in an AngularJS directive, everything will work out of the box. So in balancing levels of effort, rewriting makes sense more often than it doesn't.
ã¨ã€ã‚りã¾ã™ã€‚書ãç›´ã—ã¡ã‚ƒã£ãŸã»ã†ãŒçµæžœçš„ã«ç°¡å˜ã¨ã„ã†ã“ã¨ã§ã™ã。åŒã˜ã“ã¨ã‚’ã‚„ã‚‹ã®ã«å¤§ã—ãŸã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®é‡ã¯ãªã„ã¨ã„ã†ã“ã¨ã¨ã€ãƒ†ã‚¹ãƒˆã§ãるコードã«ãªã‚‹ã¨ã„ã†ã“ã¨ãŒãƒ¡ãƒªãƒƒãƒˆã®ã‚ˆã†ã§ã™ã€‚トータルã§ã¿ãŸã‚‰ç”Ÿç”£æ€§ãŒã‚ãŒã‚‹ã¨ã„ã†ã“ã¨ã§ã—ょã†ã€‚
ã“れã‹ã‚‰ã¯ã€angular.jsã‚’èªã¿è¾¼ã‚€ã¨ãã¯ã€jquery.jsã‚’èªã¿è¾¼ã¾ãªã„よã†ã«ã—よã†ã¨æ€ã„ã¾ã™ã€‚ã“れã¾ã§ã‚‚ãã†ã—ã¦ããŸã®ã§ã™ãŒã€ã•らã«ãŒã‚“ã°ã£ã¦ã€jqueryライブラリを移æ¤ã™ã‚‹ã¨ã‹ã§ã™ã。CSSã¯å†åˆ©ç”¨ã§ãã‚‹ã§ã—ょã†ã€‚
ã¨ã“ã‚ã§ã€jqueryベースã®ãƒ©ã‚¤ãƒ–ラリ資産ã£ã¦ã©ã‚Œãらã„ã‚ã‚‹ã‚“ã§ã—ょã†ã‹ã€‚ãれã¨åŒãƒ¬ãƒ™ãƒ«ã®angularライブラリをãã‚ãˆã‚‹ã®ã¯è‡³é›£ã®æ¥ã§ã—ょã†ã。
ã¨ã„ã†ã‚µã‚¤ãƒˆãŒã‚るよã†ã§ã™ã€‚今後ã®ç™ºå±•ã«æœŸå¾…ã—ã¾ã™ã€‚