gpt4 book ai didi

angularjs - Angular-Translate 部分加载器不工作

转载 作者:行者123 更新时间:2023-12-04 00:31:58 25 4
gpt4 key购买 nike

我正在使用 AngularJS 翻译,如果我按照 pascalprecht 教程中的说明使用它,我的 Angular 应用程序会失败并且它不显示任何内容(它不加载部分 View ),所以我决定使用 angular-translate -部分装载机

我有一个应用程序菜单,我有一个 MenuCtrl 来显示选项,我想翻译这个菜单

这是我的代码

 angular.module('myapp'['ngAnimate','ngAria','ngCookies','ngMessages','ngResource','ngRoute','ngSanitize', 'ngTouch', 'pascalprecht.translate'])
.value('language', 'bra')
.run(function ($rootScope, $translate)
{
$rootScope.$on('$translatePartialLoaderStructureChanged', function ()
{
$translate.refresh();
}
);
})
.config(function($translateProvider, $translatePartialLoaderProvider) {
$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: 'translations/{lang}/{part}.json'
});
$translateProvider.preferredLanguage("bra");
})
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutCtrl'
})
.otherwise({
redirectTo: '/'
});
});

angular.module('myapp')
.controller('MenuCtrl', function ($scope, $translatePartialLoader) {

$translatePartialLoader.addPart('menu');

$scope.lItems = [
{
title: "HOME",
class:'active',
href:'/',
visible: true
},
{
title: "CLASSROOMS",
class:'',
href:'#',
visible: true
},
{
title: "EXPENSES",
class:'',
href:'#',
visible: true
},
{
title: "EARNINGS",
class:'',
href:'#',
visible: true
},
{
title: "STUDENTS",
class:'',
href:'#',
visible: true
}
];


});

在 index.html 中

            <div id="navbar" class="navbar-collapse collapse" ng-controller="MenuCtrl">
<ul class="nav navbar-nav" ng-repeat="lItem in lItems">
<li class="{{lItem.class}}"><a href="{{lItem.href}}">{{lItem.title | translate}}</a></li>
</ul>
</div>

你能帮帮我吗?

谢谢!

最佳答案

终于找到了解决办法。

问题是菜单在 ng-view block 之外,当应用程序加载时不会刷新正确的 html 部分。

通过添加这个 $translatePartialLoaderProvider.addPart('menu');

 .config(function ($translateProvider, $translatePartialLoaderProvider) {

$translatePartialLoaderProvider.addPart('menu');

$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: 'translations/{lang}/{part}.json'
});
$translateProvider.preferredLanguage('bra');

....

当应用程序加载时,菜单部分也会加载。

关于angularjs - Angular-Translate 部分加载器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com