我正在使用带有自定义功能的ng-show。该函数调用控制器内的'$ translate.use'方法。
有趣的是,这适用于主页,但不适用于所有其他控制器,尽管它们都使用相同的代码安静。
控制台告诉我$ translate未定义。
这是我对索引页面的代码安静:
app.controller('LangCtrl', function ($scope, $translate) {
$scope.isenglish = function () {
if ($translate.use() == 'en_US') {
return true;
}
return false;
}........
和另一个控制器:
app.controller('selectFormController', ['$scope', '$http', 'storage', '$rootScope', function ($scope, $http, storage, $rootScope, $translate) {
........
$scope.isenglish = function () {
if ($translate.use() == 'en_US') {
return true;
}
return false;
}
我真的很困惑 - 有人能帮助我吗?
非常感谢!!! 斯特芬
答案 0 :(得分:3)
它在LangCtrl
控制器中工作,因为您直接注入$translate
依赖项。但是在您的selectFormController
控制器中,您使用的是内联数组注释,您需要首先在数组中添加依赖项string
(依赖项名称),然后您可以在控制器function
简而言之,您错过了在$translate
控制器中添加selectFormController
依赖项。
<强>代码强>
app.controller('selectFormController', ['$scope', '$http', 'storage', '$rootScope', '$translate',
function ($scope, $http, storage, $rootScope, $translate) {
答案 1 :(得分:3)
您似乎并没有真正注入$translate
,请查看此内容:
app.controller('selectFormController', ['$scope', '$http', 'storage', '$rootScope', '$translate', function ($scope, $http, storage, $rootScope, $translate)
在$translate
$rootScope