2016-11-14 10 views
0

角度のjの "定数"、 "値"、 "デコレータ"のトピックを理解しようとしています。 しかし、もし誰かが私に詳しいことができれば、彼らはいくつかの例を挙げて使用されています。私はすでにGoogleで検索しましたが、有用な記事はまだ見つかりませんでした。angularjsの定数、値、デコレータ

+0

あなたがフランス語を理解できるかどうかわかりませんが、Grafikartという人がそのことについて非常に良いチュートリアルを作成しました。違いを見つけることができますbewteenサービス、工場など:https://www.grafikart.fr/formations/angularjs/services – trichetriche

答えて

0

定数

定数はどこでも注入することができます。定数は をデコレータでインターセプトできないため、定数 の値は決して変更しないでください(角度1.xではプログラムで をプログラムで変更することはできます)。

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

app.constant('MOVIE_TITLE', 'The Matrix'); 

.controller('MyController', function (MOVIE_TITLE) { 
    expect(MOVIE_TITLE).toEqual('The Matrix'); 
}); 

値は、単純な注射用値以外の何ものでもありません。値は、 を文字列、数値だけでなく関数にすることもできます。値は定数 と異なり、その値は構成に注入できませんが、 をデコレータでインターセプトできます。

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

.value('movieTitle', 'The Matrix'); 

.controller('MyController', function (movieTitle) { 
    expect(movieTitle).toEqual('The Matrix'); 
}) 

デコ

デコレータは、他のプロバイダを変更したり、カプセル化することができます。 例外が1つあり、定数を装飾することはできません。

var app = angular.module('app', []); 

app.value('movieTitle', 'The Matrix'); 

app.config(function ($provide) { 
    $provide.decorator('movieTitle', function ($delegate) { 
    return $delegate + ' - starring Keanu Reeves'; 
    }); 
}); 

app.controller('MyController', function (movieTitle) { 
    expect(movieTitle).toEqual('The Matrix - starring Keanu Reeves'); 
}); 

はそれがお役に立てば幸いです。

+0

返信のための@ Ghazanfarそれは私の疑問をクリアした私もあなたは私に彼らの実用的であることを知らせることができますつかいます ? – Charu

関連する問題