作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的示例代码:en.js
var translationsEN = {
USERNAME: 'Username',
PASSWORD: 'Password',
LOGIN: 'Login',
CANCEL: 'Cancel' };
和我的 Controller :
.config(function ($routeProvider, $translateProvider) {
...
$translateProvider.translations('en_US', translationsEN);
$translateProvider.preferredLanguage('en_US');
...
我正在使用 Pascal Precht 的 Angular 翻译模块。当我更新文件时,控制台中显示消息:“translationsEN 未定义”(在我的 Controller 中)以及来 self 的语言文件的消息:“translationsEN 已定义但从未使用”
如何在 Controller 中定义变量?我需要将变量定义为服务吗?
最佳答案
实现目标的 Angular 方法确实是使用 service或者,对于简单常量变量, constant service :
myModule.constant(
'myModule.translations.EN',
{
USERNAME: 'Username',
PASSWORD: 'Password',
LOGIN: 'Login',
CANCEL: 'Cancel'
}
);
然后您所要做的就是将其注入(inject)到您的配置方法中:
myModule.config([
'$routeProvider',
'$translateProvider',
'myModule.translations.EN',
function ($routeProvider, $translateProvider, translationsEN) {
// …
$translateProvider.translations('en_US', translationsEN);
$translateProvider.preferredLanguage('en_US');
}
]);
如果由于某些原因,您绝对需要使用经典变量,例如因为它也在非 Angular 脚本中使用,只需确保在配置方法之前声明它即可。
关于javascript - 如何在 Controller 中定义来自另一个文件的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110618/
我是一名优秀的程序员,十分优秀!