저는 AngularJS에서 새로 왔고 사용 방법을 이해하려고 노력하고 있습니다. 내 웹 사이트를 번역 할 때 angular-translate를 사용하고 있지만 작동하지만 데이터베이스의 동적 컨텐츠에 문제가 있습니다.Angular-translate : 언어를 변경할 때 콘텐츠 (API 요청)를 새로 고치는 방법은 무엇입니까?
API 요청을 통해 동적 콘텐츠를 가져옵니다. 좋은 언어로 요청을 "다시 실행"하여 좋은 언어로 내용을 다시 불러오고 싶습니다.
"translateChangeSuccess"이벤트를 catch하지만 어떻게 이전 API 요청을 "다시 수행"할 수 있습니까? 내 영어
편집 죄송 :
당신에게 PS : 당신의 도움을 주셔서 대단히 감사합니다translateChangeSuccess
이벤트에
// my run block :
(function()
{
'use strict';
angular
.module('fuse')
.run(runBlock);
function runBlock($rootScope, $timeout, $state, $cookieStore)
{
$rootScope.$on('$translateChangeSuccess', function() {
// catch translateChangeSuccess event
// redo the previous api request
});
}
})();
// my change language function
/**
* Change Language
*/
function changeLanguage(lang)
{
angular.forEach(vm.languages, function(value, key) {
if (lang.code == key)
$translate.use(lang.code); // launch translateChangeSuccess event
});
}
// my api service
function apiService($http, $resource, $translate, CONFIG_API)
{
// change header with good language
$http.defaults.headers.common["Accept-Language"] = $translate.proposedLanguage();
var api = {};
// Base Url
api.baseUrl = CONFIG_API.base_url;
// request to reload when user changes language
api.Documents = $resource(api.baseUrl + 'documents/:id',
{id: '@id'},
{update: {method: 'PUT'}}
);
...
}
답변 해 주셔서 감사합니다. 내 코드의 주요 부분으로 내 게시물을 편집했습니다. "방법"을 알고 있지만 TranslateChangeSuccess 이벤트에있을 때 API 요청을 "다시 실행"하는 예제를 찾지 못했습니다. –
정말 어떻게해야할지 모르기 때문에 몇 가지 예를 제공해 줄 수 있습니까? 내 컨트롤러에서 할 생각,하지만 같은 문제, 어떻게 모듈에 정의 된 쿼리를 다시 보내려면 :( –