2016-01-15 35 views
0

以下是在angular.js文件中提供的強制負數具有負號的$。我寧願不修改angular.js源代碼。如何覆蓋angularjs的默認值以使用括號(())而不是負號( - )來使用負數?

$provide.value("$locale", { 
    "DATETIME_FORMATS": { 
* 
* 
* 
"NUMBER_FORMATS": { 
    "CURRENCY_SYM": "$", 
    "DECIMAL_SEP": ".", 
    "GROUP_SEP": ",", 
    "PATTERNS": [ 
     { 
     "gSize": 3, 
     "lgSize": 3, 
     "maxFrac": 3, 
     "minFrac": 0, 
     "minInt": 1, 
     "negPre": "-", 
     "negSuf": "", 
     "posPre": "", 
     "posSuf": "" 
     }, 
     { 
     "gSize": 3, 
     "lgSize": 3, 
     "maxFrac": 2, 
     "minFrac": 2, 
     "minInt": 1, 
     "negPre": "-\u00a4", 
     "negSuf": "", 
     "posPre": "\u00a4", 
     "posSuf": "" 
     } 
    ] 
    }, 
* 
* 
* 

我想覆蓋此行爲,並有一個自定義配置文件,將給負數括號,而不是負號。

電流輸出:-48.25 所需的輸出:(48.25)

+0

庵它會更容易攔截結果然後嘗試並更改基礎行爲,因爲您不知道如何切換到括號可能會中斷(例如,如果有的話)是過程括號中某個數學函數,而負數將在基本JavaScript數學中以不同方式處理 – Binvention

+0

有沒有用於覆蓋此行爲的自定義$ locale配置文件? –

+0

它可能工作是的。我只是提出了這個建議,因爲隨着角度的變化以及目前的情況可能很難說出默認會導致多少部分改變。一些可以輕鬆更改的默認設置會導致問題。我不會說,根本不要嘗試,但如果你正在尋找一些破壞結果的可能性最小的東西,那就是它。 – Binvention

回答

0

什麼:

"PATTERNS": [ 
    { 
    "gSize": 3, 
    "lgSize": 3, 
    "maxFrac": 3, 
    "minFrac": 0, 
    "minInt": 1, 
    "negPre": "(", 
    "negSuf": ")", 
    "posPre": "", 
    "posSuf": "" 
    }, 
    { 
    "gSize": 3, 
    "lgSize": 3, 
    "maxFrac": 2, 
    "minFrac": 2, 
    "minInt": 1, 
    "negPre": "(\u00a4", 
    "negSuf": ")", 
    "posPre": "\u00a4", 
    "posSuf": "" 
    } 
] 
+0

我想過,但我寧願不改變angular.js文件。我寧願有一個將覆蓋此angular.js文件的自定義語言環境配置文件。 –

+0

我一直在想,改變angular.js文件中的代碼並不是很好的做法,因爲我必須測試代碼並自己維護它。覆蓋默認的angularjs行爲而不是更改源代碼不是更好嗎?此外,我不知道什麼都取決於該代碼,我不想破壞任何東西。 –

+0

我其實並不太瞭解angular.js本身。抱歉。 – bb94

0

試着改變negPrenegSuf

$provide.value("$locale", { 
    "DATETIME_FORMATS": { 
* 
* 
* 
"NUMBER_FORMATS": { 
    "CURRENCY_SYM": "$", 
    "DECIMAL_SEP": ".", 
    "GROUP_SEP": ",", 
    "PATTERNS": [ 
     { 
     "gSize": 3, 
     "lgSize": 3, 
     "maxFrac": 3, 
     "minFrac": 0, 
     "minInt": 1, 
     "negPre": "(", 
     "negSuf": ")", 
     "posPre": "", 
     "posSuf": "" 
     }, 
     { 
     "gSize": 3, 
     "lgSize": 3, 
     "maxFrac": 2, 
     "minFrac": 2, 
     "minInt": 1, 
     "negPre": "(\u00a4", 
     "negSuf": ")", 
     "posPre": "\u00a4", 
     "posSuf": "" 
     } 
    ] 
    }, 
* 
* 
* 
+0

我寧願不改變angular.js文件。我不知道什麼都取決於該代碼,我不想破壞任何東西。 –