2015-08-05 5 views
0

Я использую угловой перевод для локализации в моем текущем проекте. Я столкнулся с одной проблемой с переводом динамических меню. Вот детали реализацииперевод динамических меню с использованием угловых js

У меня есть статическое меню, встроенные в страницы HTML, как показано ниже:

<a>{{'INTRODUCTION' | translate}}</a> 

Угловая перевод здесь работает нормально с переведенным текстом. но чуть ниже этого статического меню, у меня есть ul tag

В этом теге ul я загружаю динамическое меню, созданное с помощью javascript, но с текстом ссылки {{"INTRODUCTION" | translate}}.

Но это не переведено, и ссылка отображается как {{"INTRODUCTION" | translate}} вместо переведенного текста.

Нужно ли что-то делать для динамических меню?

ответ

1

Вам нужно $compile:

var myApp = angular.module('myApp',[]); 
 

 
myApp.directive('test', function($compile) { 
 
    return function($scope, element, attrs) { 
 
     $scope.buddy = 'Tom'; 
 
     
 
     var paragraph = $('<p>Hello, {{ buddy }}</p>'); 
 
     
 
     var uncompiled = paragraph.clone(); 
 
     var compiledParagraph = $compile(paragraph)($scope); 
 
     
 
     element.append(uncompiled); 
 
     element.append(compiledParagraph); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script> 
 

 
<body ng-app="myApp"> 
 
    <div test> 
 
    </div> 
 
</body>

$compile ссылки сгенерированный DOM в объеме, что позволяет обработку угловых функций, таких как выражения и фильтры.

+0

thanks..its работает с $ compile – Prashant

+0

@Prashant не проблема, не забудьте принять ответы, если вы найдете их полезными. –

Смежные вопросы