1
我还是一个JavaScript新手,想知道如何设置一个$范围值等于另一个数组的值,并在另一个函数中使用它。这就是我想要做的事:设置范围值等于angularjs中的数组元素
(function() {
'use strict';
angular
.module('app')
.controller('LanguageController', LanguageController);
LanguageController.$inject = ['$scope','$translate'];
function LanguageController($scope,$translate) {
$scope.lang = [
"Nederlands",
"Français",
"English",
"Deutsch",
"Español"
];
$scope.selectLang = $scope.lang[0];
$scope.changeLang = function(){
console.log("Lang === " + $scope.selectLang);
}
// When value of $scope lang change i would want do
//Change the value of this
$scope.langI18n = [
"nl_NL",
"fr_FR",
"en_US",
"de_DE",
"es_ES"
];
//And then use it here
$scope.setLang = function(langKey) {
// You can change the language during runtime
console.log("change to " +langKey)
$translate.use(langKey);
};
}
})();
我知道$scope.langI18n
是错误的,但我想知道我怎么能改善这个所以它的工作。
我认为一个可能的解决方案的时$scope.lang
被设定使用的索引进行比较,以阵列langI18n
的函数,然后设置LANGUES重视到setlang
但我需要这方面的一些反冲启动。
这看起来很有前途,但我在$ scope.lang [0]上得到一个错误:无法读取未定义的属性'0'。 – Greg
如果你从上面的答案中复制粘贴,那么它应该是$ scope.langs(在结尾处有's') – Guillaume
好吧,现在这可以工作,但是我在$ scope.selectLang = $ scope.lang中遇到了以下问题[0]它返回2个对象。我怎么能说只需要第一个或最后一个对象? – Greg