2017-05-18 14 views
3

私のenvironment.tsにいくつかの冗長性を減らしたいのですが、私のenv変数の多くは同じものから始まります。むしろ、その後環境変数にenv変数を連結する

export const environment = { 
    base_url: '//www.myWebsite.co.uk/', 
    ws_base_url: this.base_url + 'ws', 
    download_base_url: this.base_url + 'download' 
} 

::だから私はやってみたかったことはこれです

export const environment = { 
    base_url: '//www.myWebsite.co.uk/', 
    ws_base_url: '//www.myWebsite.co.uk/ws', 
    download_base_url: '//www.myWebsite.co.uk/download' 
} 

をしかし、私はenvironment.ws_base_urlを使用するとき、私は//www.myWebsite.co.uk/wsが、undefined/wsを得ることはありません。私はちょうどこれが実際に働いていないかどうか、または私がちょうど何かを見逃しているのだろうかと思っていた

あなただけのオブジェクトの外側の変数を宣言することができます

答えて

3

:また

const BASE_URL = '//www.myWebsite.co.uk/'; 

export const environment = { 
    base_url: BASE_URL, 
    ws_base_url: BASE_URL + 'ws', 
    download_base_url: BASE_URL + 'download' 
} 
+0

うまく動作します、ありがとう! – tschaka1904

1

は、ES5ゲッターを使用して動作するはずです

const environment = { 
    base_url: '//www.myWebsite.co.uk/', 
    get ws_base_url() { 
     return this.base_url + 'ws'; 
    }, 
    get download_base_url() { 
     return this.base_url + 'download' 
    } 
} 

console.log(environment) 

デモ:https://jsbin.com/gujecaleru/edit?js,console

2

人々は複数の方法を示しているので、これを行うには、私は別の方法を追加するかもしれないと思った。

最初のコードで見たように、環境宣言に「、」がないようです。 base_urlの宣言の直後に:

base_url: '//www.myWebsite.co.uk/'