2016-07-12 6 views
0

일부 텍스트를 번역하려면 angularjs 함수가 있습니다. 내 모든 컨트롤러는 다음과 같습니다어떻게 쿠키를 각도로 설정합니까?

ntsvApp.controller('ntCtrl', function($translate){ 
    var ctrl = this; 

    ctrl.language = 'en'; 
    ctrl.languages = ['en', 'de']; 
    ctrl.updateLanguage = function(){ 
     $translate.use(ctrl.language); 

    }; 
}); 

내가 $translate.use 방법을 인식하지 못하는 경우, 각 쿠키를 설정 할 수 updateLanguage 기능에 $cookies를 넣어 경우. 컨트롤러 기능 내에 $cookies을 배치하면 $cookies .put 메서드를 인식하지 못합니다. 만약 내가 두 쿠키를 넣고 컨트롤러 또는 updatelanguage 아무것도 번역 작동합니다. 나는 어떻게 쿠키를 작성하면 updatelanguage 함수 만 작동합니까?

+0

이 시도 이제 또 다른 이야기 이잖아 생각 https://docs.angularjs.org/api/ngCookies/service/$ 쿠키 – user2584538

+0

은이 외에도 수많은 소스를 사용했습니다. 아무것도 실제로 도왔다. –

답변

1

이 의존성 주입을 위해 일해야

ntsvApp.controller('ntCtrl', ['$translate', '$cookies', function($translate, $cookies){ 
    var ctrl = this; 

    ctrl.language = 'en'; 
    ctrl.languages = ['en', 'de']; 
    ctrl.updateLanguage = function(){ 
     $translate.use(ctrl.language); 

    }; 
}]); 

이제 컨트롤러 기능을 어디에서나 사용할 수 있습니다.

0

좋아요. 그래서 z.a와 함께 작동하게되었습니다. 대답.

ntsvApp.controller('ntCtrl', ['$translate', '$cookies', function($translate, $cookies){ 
    var ctrl = this; 
    var islang = $cookies.get('language'); 
    if(typeof islang != 'undefined'){ 
     ctrl.language = 'pl'; 
    }else{ 
    ctrl.language = $cookies.get('language'); 
    } 
    ctrl.languages = ['pl', 'en']; 
    ctrl.updateLanguage = function(){ 
     var expireDate = new Date(); 
     expireDate.setDate(expireDate.getDate()+1); 
     $translate.use(ctrl.language); 
     $cookies.put('language', ctrl.language, {'expires':expireDate}); 
    }; 
}]); 

지금 내가 웹 사이트를로드하려고하지만 쿠키를 기억하지 않습니다하지만 난

관련 문제