angular-translate 适用于使用格式的多个 p、h 和标签
<p translate>something</p>
这很棒。但是我不能让它在那个按钮上有另一个 Angular 组件的按钮上工作,特别是 angular-dropdowns。事实上,当我将 translate 放在 > 的末尾时,它会在页面加载时破坏整个页面,并且没有 Javascript 工作。在控制台中,我得到 Error: [$compile:multidir] http://errors.angularjs.org/1.2.20/ $compile/multidir (etc., etc.)
HTML是
<div id="leftOfMap" class="floatingSection" data-ng-controller="languageController">
<ul>
<li class="leftOfMapItem"><button id="languageButton" dropdown-menu="ddMenuOptions" dropdown-model="ddMenuSelected" class="btn-menu">Language</button></li>
<li class="leftOfMapItem" translate>BIKE PATHS</li>
</ul>
</div>
该按钮的 Angular 控制器是
residenceApp.controller('languageController', [ '$scope', 'changeLanguage',
function( $scope, changeLanguage ) {
var languageChoices = [
{"text": "English", "val": "en"},
{"text": "Espanol", "val": "es"}
];
$scope.ddMenuOptions = languageChoices;
$scope.ddMenuSelected = {};
$scope.$watch('ddMenuSelected', function(newVal) {
if (newVal && newVal.text) {
changeLanguage(newVal.val); //eg., changeLanguage(es);
//changeLanguage() is the name of a factory service
}
}, true);
}]);
下拉按钮起作用,选择语言并进行翻译。myApp 具有 angular-translate 文档中的配置内容 - $translateProvider.translations() 之类的东西。同样,问题是当按钮上的翻译属性/指令时,它会在页面加载时破坏整个页面。我尝试将 $translate 带入上述控制器,但无法使其正常工作。有什么需要改变的?