javascript - 如果条件不适用于状态,则 Angular

标签 javascript angularjs ionic-framework angular-translate

我在 Ionic 应用程序中使用 Angular 翻译,根据下拉列表中选择的语言,需要加载不同的状态。

主 Controller :

.controller('mainCtrl', function ($scope, $state, $translate) {
  var ctrl = this;
  ctrl.language = 'kn';
  ctrl.languages = ['kn', 'en'];

  ctrl.updateLanguage = function () {
    $translate.use(ctrl.language);
  };

  $scope.lang = function () {
    if (ctrl.language = 'kn') {
      $state.go('knmenu', {}, { location: "replace", reload: true });
    } else($translate.use(ctrl.language)) {
      $state.go('menu', {}, { location: "replace", reload: true });
    }
  }

main.html:

<div ng-controller="mainCtrl as ctrl">
  <button
    class="button button-block button-balanced"
    ng-click="lang()"
  >
    {{ 'TITLE' | translate }}
  </button>
  <select
    ng-options="language | translate for language in ctrl.languages"
    ng-model="ctrl.language"
    ng-change="ctrl.updateLanguage()"
  ></select>
</div>

最佳答案

在您的条件检查中 if (ctrl.language = 'kn') 这始终是 true,它应该是 if (ctrl.language == 'kn')我想这就是问题所在。希望这会有所帮助。

关于javascript - 如果条件不适用于状态,则 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42272112/

相关文章:

javascript - 我如何判断 Backbone.js 中的模型是否未更改?

javascript - JavaScript对象中的init函数有什么特别之处吗?

javascript - Jasmine 不注入(inject)服务

javascript - 在 angularJs 中更改 $scope 变量值

javascript - 隐藏非事件项目形成剑道多选建议

javascript - 尝试使用 JavaScript 执行 Selenium WebDriver 测试拖放时出错

javascript - 如何在 AngularJS 中正确设置多个 Controller ?

angularjs - 是否可以使用带有表单搜索查询输入文本的 Angular Controller 通过 Mongoose 在 MongoDB 中进行实时搜索?

javascript - (ionic) 问题 : $state. go 不显示模板

android - ionic - 错误 : resource directory 'C:\Windows\System32\myApp\platforms\android\CordovaLib\build\intermediates\bundles\debug\res' does not exist