Angular 如果条件不适用于状态
Angular if condition is not working with states
我在 Ionic 应用程序中使用 angular 翻译,根据下拉菜单中选择的语言,需要加载不同的状态。
主控制器:
.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>
如果我能根据值第一个 select 框理解你的问题,你想填充第二个 select 框。下面的 Plunker 将解决您的问题
plunker link
http://plnkr.co/edit/nND1iw7unDnelGQ3EtnA?p=preview
在你的条件检查中 if (ctrl.language = 'kn')
这总是正确的,应该是 if (ctrl.language == 'kn')
我想这就是问题所在。希望这会有所帮助。
我在 Ionic 应用程序中使用 angular 翻译,根据下拉菜单中选择的语言,需要加载不同的状态。
主控制器:
.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>
如果我能根据值第一个 select 框理解你的问题,你想填充第二个 select 框。下面的 Plunker 将解决您的问题
plunker link
http://plnkr.co/edit/nND1iw7unDnelGQ3EtnA?p=preview
在你的条件检查中 if (ctrl.language = 'kn')
这总是正确的,应该是 if (ctrl.language == 'kn')
我想这就是问题所在。希望这会有所帮助。