Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将范围值设置为等于angularjs中的数组元素_Javascript_Angularjs - Fatal编程技术网

Javascript 将范围值设置为等于angularjs中的数组元素

Javascript 将范围值设置为等于angularjs中的数组元素,javascript,angularjs,Javascript,Angularjs,我还是JavaScript新手,我想知道如何将$scope值设置为另一个数组的值,并在另一个函数中使用它。这就是我想做的: (function () { 'use strict'; angular .module('app') .controller('LanguageController', LanguageController); LanguageController.$inject = ['$scope','$translate'

我还是JavaScript新手,我想知道如何将$scope值设置为另一个数组的值,并在另一个函数中使用它。这就是我想做的:

(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.langs = [
    {"nl_NL": "Nederlands"},
    {"fr_FR": "Français"},
    {"en_US": "English"},
    {"de_DE": "Deutsch"},
    {"es_ES": "Español"}
];

这看起来很有希望,但我在$scope.lang[0]上遇到了一个错误:无法读取未定义的属性“0”。如果从上面的答案复制粘贴,那么它应该是$scope.langs(末尾有一个“s”)好的,所以现在可以了,但我在$scope.selectLang=$scope.lang[0]上遇到了以下问题,它返回2个对象。我怎么能说只需要第一个或最后一个对象?