在我的player.factory.js文件中,我有以下代码:
angular.module('app').factory('Players', function ($window, $translate) {
var player1 = $translate.instant('ALL_PLAYER1');
var player2 = $translate.instant('ALL_PLAYER2');
var player3 = $translate.instant('ALL_PLAYER3');
var player4 = $translate.instant('ALL_PLAYER4');
var player5 = $translate.instant('ALL_PLAYER5');
var DEFAULTS = [
player1,
player2,
player3,
player4,
player5
];
var data = $window.JSON.parse($window.localStorage.getItem('players')) || DEFAULTS;
这里player<X>
的默认值存储在JSON文件中。
在我的app.js文件中,一切开始。以下是用德语或英语存储的ALL_PLAYER<X>
的(默认)值:
ALL_PLAYER1: 'Player 1',
ALL_PLAYER2: 'Player 2',
ALL_PLAYER3: 'Player 3',
ALL_PLAYER4: 'Player 4',
ALL_PLAYER5: 'Player 5',
出于测试目的,我从这里切换
$translateProvider.preferredLanguage('de');
到
$translateProvider.preferredLanguage('de');
反之亦然。
这样做时,所有值都会根据需要更改。但是,只要我为player<X>
提供了真实的玩家名称,player<X>
的所有其他值就不再更改语言。
如果我清除浏览器的缓存并重新加载网站,则一切正常。但是,这是不需要的。那么,可以进行哪些代码更改来摆脱这种情况?