问题描述
我在我的应用程序中使用了角度转换,这是我的app.js
Im using angular translate in my app, this is my app.js
var formApp = angular.module('formApp', [
'ngRoute',
'ui.bootstrap',
'pascalprecht.translate'
]).config(function($translateProvider) {
$translateProvider.translations('en', {
HEADLINE: 'Hello there, This is my awesome app!',
INTRO_TEXT: 'And it has i18n support!'
});
});
我在互联网上喜欢的休闲教程.
Im fallowing tutorial I fond on the internet.
这是我将库加载到html文件中的方式
This is how I loaded libraries in my html file
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-translate/angular-translate.js"></script>
这就是我打印值的方式
<h2>{{ 'HEADLINE' | translate }}</h2>
<p>{{ 'INTRO_TEXT' | translate }}</p>
但是当我打开我的应用程序时,我会在控制台中获取此味精:
But when i open my app im getting this msg in console :
Error: [$injector:unpr] Unknown provider: translateFilterProvider <- translateFilter
有人知道如何解决此问题吗?我是绝对的初学者,如果错误是愚蠢的,抱歉:)
Does anyone knows how to fix this? Im absolute beginner in angular, sorry if error is stupid :)
推荐答案
在您的控制器中,您需要添加$ translate作为依赖项.
In your controller, you need to add $translate as a dependency.
formApp.controller('myCtrl', function ($scope, $translate) {
//code
});
例如,在html中,必须在这些元素之前的某个位置具有ng-controller,这就是需要将依赖项作为参数注入的控制器.
So for example in the html, you must have a ng-controller at some point before those elements, thats the controller that needs the dependency injected as a parameter.
<div ng-controller="myCtrl">
...
<h2 translate>HEADLINE</h2>
<p translate>INTRO_TEXT</p>
...
</div>
还需要在config块中设置首选语言:
Also in the config block you need to set the prefered language:
$translateProvider.preferredLanguage('en');
这篇关于Angular-translate未知提供者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!