我对 Angular 相当陌生,我想知道如何实现以下目标:
我在变量中使用三元条件在两种语言之间切换,而无需刷新页面并显示具有正确标题的项目 (ng-repeat
)。
{{isEnglish ? item.name_en : item.name_fr}}
我有一个将 isEnglish
切换为 true
或 false
的开关,但切换 bool 值时变量不会自行更新。我需要应用更改吗?有没有办法做到这一点?
语言切换
<a href="" class="fb border_link" ng-click="changelanguage();">
{{displayLanguage}}
</a>
ng-click功能
$scope.changelanguage = function(){
console.log("changing language");
console.log($scope.$parent.isEnglish);
if($scope.selectedLanguage === 'en'){
$translate.use('fr');
$scope.$parent.isEnglish = false;
console.log($scope.$parent.isEnglish);
$scope.selectedLanguage = 'fr';
$scope.displayLanguage = 'English';
console.log("en");
}
else{
$translate.use('en');
$scope.$parent.isEnglish = true;
console.log($scope.$parent.isEnglish);
$scope.selectedLanguage = 'en';
$scope.displayLanguage = 'Français';
console.log("fr");
}
}
最佳答案
尝试将 isEnglish 设置为像 settings.isEnglish 一样的对象属性。 Angular 在附加到作用域的原始变量方面存在一些问题。
关于javascript - 更新三元条件变量 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38298730/