javascript - 更新三元条件变量 Angular

标签 javascript angularjs ternary-operator

我对 Angular 相当陌生,我想知道如何实现以下目标:

我在变量中使用三元条件在两种语言之间切换,而无需刷新页面并显示具有正确标题的项目 (ng-repeat)。

{{isEnglish ? item.name_en : item.name_fr}}

我有一个将 isEnglish 切换为 truefalse 的开关,但切换 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/

相关文章:

javascript - 使用 angular-file-upload 进行 Angular-JS 文件上传 - 限制文件类型、大小

c - 三元运算符。条件自动类型转换

javascript - CoffeeScript 中的三元运算符

javascript - jQuery 动态 dom 元素内的每个循环

javascript - 何时使用构造函数以及何时使用 OnInit

angularjs - Angular.js md-autocomplete 不起作用

javascript - 将下划线或 lodash 附加到 Angular

python - 将一个简单的 if-then-else 语句放在一行上

javascript - DOM/Vanilla Javascript 相当于 jquery 的 .is (':empty' )

javascript - 帧源变化检测