我在应用程序上使用角度翻译。它使用可以在angular-ui的帮助下动态切换其内容的选项卡,我通过使用 $http 的自定义服务获取内容。
然后对模板进行清理并将其推送到数组中以供以后渲染:
var addNewTab = function(template, tabClass) {
var id = $scope.tabs.length + 1;
tabClass = tabClass || '';
template = $sce.trustAsHtml(template);
template = $compile(template)($scope);
$scope.tabs.push({
id: id,
name: 'PLACEHOLDER TITLE',
active: true,
content: template,
tabClass: tabClass
});
};
在使用 {{tab.content}} 呈现的视图中,到目前为止一切正常,我遇到的问题是 angular-translate 以翻译新插入的模板。
在模板内部,我使用 translate 指令来翻译内容,但由于模板超出了翻译发生的 $scope 范围,因此不会呈现其文本。
我以为我可以使用 $compile 让它工作,但我不太明白如何使用它。
任何想法将不胜感激。