配置中的AngularJS筛选器

AngularJS filter in config

本文关键字:筛选 AngularJS 配置      更新时间:2023-09-26

我正在使用以下插件angular translate和ng breadcrumbs

两者都在配置中进行了配置,但如何才能使标签能够被翻译呢?

我可以在每页的控制器中完成,但没有更简单的方法吗?

配置:

someApp.config(['$routeProvider', '$locationProvider', '$translateProvider',
    function ($routeProvider, $locationProvider, $translateProvider) {
        $translateProvider.useStaticFilesLoader({
            prefix: '/localization/locale-',
            suffix: '.json'
        });
        $translateProvider.preferredLanguage('nl');
        $routeProvider.
        when('/', {
            templateUrl: 'partials/landing.html',
            controller: 'HomeCtrl',
            label: 'Home'
        }).
            // default
        otherwise({
            redirectTo: '/'
        });
    }
]);

我不确定标签,但templateUrl可以被templateProvider取代,templateProvider是一个返回字符串的函数。

您可以尝试在标签上编写一个函数,根据条件用不同的语言给出标签(甚至可以是rest调用)。

有一个简单的方法可以解决这个问题,我显然没有那么清醒:通过将|translate添加到ng-bind,解决了问题

<ul id="breadcrumb">
    <li ng-repeat="breadcrumb in breadcrumbs.get() track by breadcrumb.path" ng-class="{ active: $last }">
        <a ng-if="!$last" ng-href="#{{ breadcrumb.path }}" ng-bind="breadcrumb.label | translate" class="margin-right-xs">
        </a><span ng-if="$last" ng-bind="breadcrumb.label | translate"></span>
    </li>
</ul>