2016-03-22 7 views
0

角度で別の値を定義することは可能でしょうか?のは、私は2つの定義された値を持っており、最初の二つを用いた第3の値を定義したいとしましょう:値のある値を使っている角度(定数)

angular.module('my.module').value('firstOne', ['John', 'Mary']); 
angular.module('my.module').value('secondOne', ['Tom', 'Jack']); 

angular.module('my.module').value('combined', [firstOne[0], secondOne[1]); 
+0

値に何かを挿入する方法がないので、私は答えがノーだと推測しています。 – Lex

+1

別の「値」を定義するために「値」を使用することは可能です。また、ある時点でコード内で変更したい場合は 'value'を使い、そうでなければ' constant'を使います。説明に従ってください:http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/ – klauskpm

+0

@klauskpm答えの中の例を書くことができますか? – Ricardas

答えて

2

あなたがこれを行うことができ、

var app = angular.module('my.module', []); //just a shortcut, don't have to do this 

app.value('firstOne', ['John', 'Mary']); 
app.value('secondOne', ['Tom', 'Jack']); 

app.service('constantService', function(firstOne, secondOne) { 
    this.combined = [firstOne[0], secondOne[1]]; 
}); 

、関数内の任意の場所に注入constantServiceとしてそれを使用して、呼び出します constantService.combined

+0

これは私が思っていたものとほとんど同じですが、それ以外の回答がない場合は、私はこの1つを受け入れるでしょう – Ricardas

+0

確かに事実はありません。ありがとう! –

+1

彼はまた'app.value( 'combined'、[]);として 'combined'を宣言し、' function'でそれを呼び出し、 'combined.push([firstOne [0]、secondOne [1]);'のように終了することもできます。 – klauskpm

0

以下のコードを実行することで、あなたの仕事を行うことができます。

angular.module('my.module') 
.value('RESOURCES', (function() { 
var firstOne = ['John', 'Mary']; 
var secondOne = ['Tom', 'Jack']; 
return { 
    firstOne: firstOne, 
    secondOne: firstOne, 
    combined: firstOne[0] + firstOne[1] 
} 
})()) 
関連する問題