[英]How to store values from ng-dropdown-multiselect in sessionStorage in AngularJS?
[英]How to use angular translate on ng-dropdown-multiselect
在我的AngularJS應用中,我使用了角度轉換來實現國際化。
但是它不適用於ng-dropdown-multiselect
文本。
我試圖將翻譯文本與$ scope變量相關聯,並應用$ scope。$ watch等待更改,但它也無法正常工作。
有人知道如何使其成為多國語言嗎?
<div
ng-dropdown-multiselect=""
options="myModelOptions"
selected-model="mySelectedItem"
extra-settings="mySettings"
translation-texts="{
'checkAll': myScopeVariable.selectAll,
'uncheckAll': myScopeVariable.selectNone,
'buttonDefaultText': myScopeVariable.selectZero,
'selectionCount': myScopeVariable.selectCount,
'dynamicButtonTextSuffix': myScopeVariable.selectSufix
}">
</div>
您無需監視作用域,它們提供的translation-texts
屬性僅在構建dom時起作用。 您可以通過在每次更改語言時重新構建選擇來使用技巧。
1-添加條件以顯示選擇,例如ng-if="!unready"
。 並直接使用translate
過濾器。
<div ng-if="!unready" ng-dropdown-multiselect="" options="cars" selected-model="selectedCar" extra-settings="mySettings" translation-texts="{
'checkAll': ('selectAll' | translate),
'uncheckAll': ('selectNone' | translate),
'buttonDefaultText': ('selectZero' | translate),
'selectionCount': ('selectCount' | translate),
'dynamicButtonTextSuffix': ('selectSufix' | translate)
}">
</div>
2-如果更改按鈕的按鈕不在同一個控制器中,則捕獲語言更改檢測,並將變量設置為不顯示選擇,增加一點超時以再次顯示它,以便重新呈現選擇。
$rootScope.$on('$translateChangeSuccess', function(event, current, previous) {
// Language has changed
$scope.unready = true;
$timeout(function() {
$scope.unready = false;
}, 10);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.