在之前介紹angularjs的部落格中,簡單的介紹了angularjs提供的常用服務,以及如何自定義服務,具體可參見《angularjs 服務(service)》。在這一篇部落格中,我將為大家詳細介紹如何自定義服務,以及各種方式之間的區別。
value(name, object)方法允許我們直接將乙個普通值或物件作為服務。我們通過一段**來看看如何使用:
}在這段**中,我們是用value方法定義了乙個服務,服務名稱為hqvalue,值為:10,這是乙個很簡單的例子。
constant(name, value)也可以註冊乙個服務,值可以是乙個字串、數字、陣列、物件或函式,和value(name, object)很像有木有。對上面的示例進行簡單的修改:
}細心的小夥伴應該可以發現constant(name, value)和value(name, object)的用法雖然很想,但是二者也是有區別的,不然也就沒必要搞兩個出來了,二者最大的區別在於使用constant(name, value)註冊的服務可以在config(configfn)方法中注入,而value(name, object)不可以。通常用value(name, object)來註冊服務物件或者函式,而用constant(name, value)來配置資料。
使用service(name, constructor)註冊服務,服務物件是使用new進行例項化的,所以我們應該給this新增屬性。
}在這段**中,我們使用了service(name, constructor)註冊了乙個服務,服務名為hqstring,我們為該服務新增了乙個touppercase用於將字串轉換為大寫。
使用factory(name, providerfunction)註冊服務其實就是建立乙個物件作為providerfunction的返回值,注入到controller中的其實就是建立的物件。我們使用factory(name, providerfunction)來實現service(name, constructor)同樣的功能,**如下:
}provider(name, provider)是可以傳入config(configfn)的服務,如果我們想要在 service物件啟用之前,先進行模組範圍的配置,那就應該用 provider。使用provider(name, provider)註冊服務,我們需要為this新增$get函式,函式返回用於注入到controller中物件,我們也可以為this新增其他屬性以便於我們在config(configfn)方法中使用。需要注意的是,如果我們的服務名稱為:hqstring,那麼我們在config(configfn)方法中注入的名稱應該為:hqstringprovider。下面我們通過**來看一下如何使用:
}
AngularJs服務 http請求
http 本質是對xmlhttprequest物件封裝 開啟乙個鏈結 介面方式 soap restful 傳遞的資料可以是 key val key val 形式,這種形式叫formdata 當請求資料型別不一樣,後端在接收的時採取方法也不一樣 假如上述方式以php為例可以使用 post接收 requ...
AngularJS內的服務
通過之前講解的一些angularjs裡面的一些功能j 今天就來說下我用angulaerjs裡面的服務的一些感觸和運用。angularjs中你可以自己建立自己的服務,也可以使用angularjs裡面的內建服務。在angularjs中,服務是乙個函式或物件,可在你的angularjs 應用中使用。有個 ...
angularjs服務簡單介紹
3種建立自定義服務的方式。factory service provider 大家應該知道,angularjs是後台人員在工作之餘發明的,他主要應用了後台早就存在的分層思想。所以我們得了解下分層的作用,如果你是前端人員不了解什麼是分層,那麼你最好問問你後台的小夥伴。dao層 就是model層,在後台時...