2017-5-25 AngularJs

service 自定義服務(wù)

1.指令

  • 內(nèi)置指令
  • 自定義指令
app.directive('xmg',function(){
        return {
                //指令類型
                restrict:'EA',
                //指令模版
                template:'',
                //是否替換原有指令
                replace:'true',
                //是否保留標(biāo)簽內(nèi)容
                transclude:'true'
        }
})

2.過(guò)濾器

  • 內(nèi)置過(guò)濾器
  • 自定義過(guò)濾器
app.filter('filterName',function(){
        return function(input){

        }
})

3.服務(wù)

  • 內(nèi)置服務(wù)
  • 自定義服務(wù)
  • angular 在一開始就幫我們定義一些功能,我們可以直接使用這些功能例证,都是一個(gè)方法或者一個(gè)對(duì)象的形式來(lái)調(diào)用指定的功能爸舒。想要使用這些服務(wù)冗酿,必須要注入画拾。所謂 服務(wù) 是將一些通用性的功能邏輯進(jìn)行封裝方便使用,angularJs 允許自定義服務(wù)
  • 自定義服務(wù)目的:把公用的功能邻耕,給封裝到一起戴甩,進(jìn)行復(fù)用
  • 服務(wù)本質(zhì)就是一個(gè)對(duì)象,或者以方法方式存在
  • 注意系統(tǒng)內(nèi)置服務(wù)前加 $ 谤祖,自定義服務(wù)的不需要加
app.service('xmgService',function(){
        this.say=function(){
                console.log('hello');
        }
        this.showTime = function(){
                var curTime = new Date();
        }
})
app.service('xmgService',function($filter){
        this.say = function(){
                  console.log('hello');
        }
        this.showTime = function(){
                var curTime = new Date();
//var date = $filter('date');
//return date(curTime,'yyyy-MM-dd hh:mm:ss')
                return $filter('date')(curTime,'yyyy-MM-dd hh:mm:ss');
        }
})

factory 自定義服務(wù)

var app = angular.module('app',[]);
app.controller('skController',['$scope',function($scope){
        myFactory();
        myFactory2.myTime();
        myFactory2.say();
}])

app.factory('myFactory',function(){
        return function(){
                console.log('執(zhí)行了myFactory')
        }
})

app.factory('myFactory2',function(){
          function showTime(){
                  console.log('執(zhí)行了myFactory2')婿滓;
          }
          function mySay(){
                  console.log('hello');
          }
          return {
                  myTime:showTime,
                  say:mySay
          }
})

服務(wù)的參數(shù)格式化

  • 將 json 格式 轉(zhuǎn)化成 formData 格式
原來(lái) post 請(qǐng)求格式, 傳參使用不方便
$http({
        url:'post.php',
        method:'post',
        data:'name=sk&age=666'       
})
//考慮將 josn 對(duì)象參數(shù)格式轉(zhuǎn)化成 formData 形式
方式一
app.factory('formData',function(){
        return function(obj){
                var res ='';
                for(key in obj){
                        res += key + '=' +obj[key] + '&';
                }
                //最后一位多了一個(gè)&
                res = res.slice(0,-1);    
                return res;
        }
})
方式二
app.factory('formData2',function(){
         function formDataPost(obj){
                var res = '';
                for(key in obj){
                          res += key+ "=" +obj[key] +'&';
                  }
                res = res.slice(0,-1);
                return res;
          }
          return {
                  dataPost:formDataPost
          }
})
方法三自定義服務(wù)
app.service('formDataService',function(){
        this.form = function(obj){
                var res = '';
                for(key in obj){
                        res += key + '=' + obj[key] + '&'
                }
                res=res.slice(0,-1);
                return res;
        }
})
  • 使用函數(shù)
var param ={
        name:'sk',
        age:666
}
$http({
        url:'post.php',
        method:'post',
        //方式一
        data:formData(param)
        //方式二
        data:formData2.dataPost(param)
        //方式三
        data:formDataService.form(params)
})

value 自定義服務(wù)

  • value 表現(xiàn)形式上是一個(gè)服務(wù)
  • 本質(zhì)上可看作是一個(gè)常量粥喜,到那時(shí)以服務(wù)的方式使用
app.controller('skController',["$scope","userName",function($scope,$userName){
          console.log(userName);
          $scope.name = 'aaa';
}])
app.value('userName','sk')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凸主,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子额湘,更是在濱河造成了極大的恐慌卿吐,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锋华,死亡現(xiàn)場(chǎng)離奇詭異嗡官,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)毯焕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門衍腥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事婆咸≈褡剑” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵擅耽,是天一觀的道長(zhǎng)活孩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)乖仇,這世上最難降的妖魔是什么憾儒? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮乃沙,結(jié)果婚禮上起趾,老公的妹妹穿的比我還像新娘。我一直安慰自己警儒,他們只是感情好训裆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜀铲,像睡著了一般边琉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上记劝,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天变姨,我揣著相機(jī)與錄音,去河邊找鬼厌丑。 笑死定欧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怒竿。 我是一名探鬼主播砍鸠,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耕驰!你這毒婦竟也來(lái)了爷辱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤耍属,失蹤者是張志新(化名)和其女友劉穎托嚣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厚骗,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年兢哭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了领舰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冲秽,靈堂內(nèi)的尸體忽然破棺而出舍咖,到底是詐尸還是另有隱情,我是刑警寧澤锉桑,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布排霉,位于F島的核電站,受9級(jí)特大地震影響民轴,放射性物質(zhì)發(fā)生泄漏攻柠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一后裸、第九天 我趴在偏房一處隱蔽的房頂上張望瑰钮。 院中可真熱鬧,春花似錦微驶、人聲如沸浪谴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)苟耻。三九已至,卻和暖如春扶檐,著一層夾襖步出監(jiān)牢的瞬間凶杖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工蘸秘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留官卡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓醋虏,卻偏偏與公主長(zhǎng)得像寻咒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颈嚼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理毛秘,服務(wù)發(fā)現(xiàn),斷路器阻课,智...
    卡卡羅2017閱讀 134,711評(píng)論 18 139
  • 通過(guò)AngularJS仿豆瓣一刻的案例:https://github.com/zhongxiaolian/doub...
    中小戀閱讀 1,760評(píng)論 1 21
  • AngularJSAngularJS 是一個(gè) MV* 框架叫挟, 最適于開發(fā)客戶端的單頁(yè)面應(yīng)用。它不是個(gè)功能庫(kù)限煞,...
    一直以來(lái)都很好閱讀 900評(píng)論 0 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,310評(píng)論 25 707
  • 一 這是哪抹恳? 頭好脹啊。 我怎么會(huì)在這署驻?這里好靜 奋献。 這里的光好溫暖健霹。怎么回事...
    權(quán)塵閱讀 114評(píng)論 0 0