Angularjs筆記(1)初探概念


       故事的開始是Angular的作者覺得GWT太麻煩,所以做了Angular,然後Angular紅了GWT才想做自己的Singular,做好都不知道何時了(遠目),在玩Ionic時,因為是建立在Angular的架構上,所以也要順手了解一下Angular,看了一下的作法,不難了解為什麼會有很多人推,因為給了一些限制,而這些限制能避免經驗不足的開發者,將專案搞到難以維護的狀態,總之Angular提供了模組(module)跟providers的概念,強制使用者要照著用,本以為注入(injection)的概念背後會有對記憶體更棒的優化,後來發顯似乎沒有...,但一致化的限制,反而帶來的更好的理解與維護性,雖然有更多我想要的特性是在TypeScript中。



Templates 就是用來放View
Controllers 用來放業務邏輯
Services 用來放會共用的功能


       本來以為module是為了引入命名空間(Namespace)的概念,結果看網路文章表示,也沒有.....也難怪會積極做Angular 2了XD,目前也還在考慮要不要跟TypeScript搭著用,雖然會更好維護,但工也會多花一些,也許未來遷移到Angular 2在轉換也不遲。

module的概念
angular.module(name, requires)

angular.module('app', ['app.conrtollers', 'app.services']);

angular.module('app.services')
 .service('WebService', function () {
   var self = this;
   self.getName = function () {
    return 'John';
   };
 });

.controller(name, constructor)
依賴注入
angular.module('app.conrtollers', ['app.services'])
 .controller('MainCtrl', function ($scope, WebService) {
// Angular會初始化方法,並回傳給我們
// 類似 new WebService() 
    $scope.name = WebService.getName();
 });

service跟factory有甚麼差別? 一個是系統幫你new,一個是你自己new完,傳出來用....個人覺得一樣意思。

一開始只要稍微理解一下,module、controller、service,就可以做很多事情了。

參考
angular之service、factory預provider區別 - xlgps.com - http://goo.gl/oCVYp5
AngularJS 之Factory vs Service vs Provider - 技術翻譯- 開源中國社區 - http://goo.gl/X8HUwy
AngularJS中的Provider們:Service和Factory等的區別- savokiss的專欄- SegmentFault - https://goo.gl/BrTqPc
物件的使用 - JavaScript | MDN - https://goo.gl/PWN2Aq

留言