- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 oclazyload 根据外部模块的需求进行加载,并且我需要翻译内容,因此我使用 angular-translate
但翻译不起作用,因为代码添加该部分位于异步加载的 Controller 内。
angular
.module('main')
.controller('invoicesCtrl', invoicesCtrl);
function invoicesCtrl($scope, $translatePartialLoader, $translate) {
$translatePartialLoader.addPart('invoices');
$translate.refresh();
...
}
主应用程序在此处加载翻译:
(function () {
angular.module('main', [
'ui.router', // Angular flexible routing
'oc.lazyLoad',
'ngResource',
'pascalprecht.translate' // Angular-translate
]);
angular.module('main').config(function ($translateProvider, $translatePartialLoaderProvider) {
$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: './i18n/{part}/{lang}.json'
});
$translateProvider.preferredLanguage('en_US');
$translateProvider.forceAsyncReload(true);
$translatePartialLoaderProvider.addPart('secure');
// Enable escaping of HTML
$translateProvider.useSanitizeValueStrategy('escape');
});
})();
对于 invoicesCtrl
和我使用的其他 Controller 的延迟加载(这工作正常):
function configState($stateProvider, $urlRouterProvider, $compileProvider) {
function resolveUrl(path){
var loadUrl = { // Any property in resolve should return a promise and is executed before the view is loaded
loadModule: ['$ocLazyLoad', function($ocLazyLoad) {
// you can lazy load files for an existing module
return $ocLazyLoad.load(path);
}]
};
return loadUrl;
}
}
我需要在 Controller 本身之前加载此addPart
。
$translatePartialLoader.addPart('invoices');
$translate.refresh();
也许可以使用事件来近似,但我是 JavaScript 新手,我不知道如何实现它。
最佳答案
我解决了在主应用程序 Controller 中使用单击导航中的链接时调用的新函数的问题:
<li ng-class="active" ng-click="getModuleLang('invoices')">
main.js
文件:
angular
.module('main')
.controller('appCtrl', appCtrl);
function appCtrl($scope, $translate, $translatePartialLoader) {
// Secure translate module added to language lazy load
$translatePartialLoader.addPart('secure');
$translate.refresh();
// Function that changes the language based on the headers language buttons
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
// Load the language modula based on the navigation element clicked
$scope.getModuleLang = function(module){
$translatePartialLoader.addPart(module);
$translate.refresh();
}
};
关于javascript - 如何使用 oclazyload 加载的外部模块加载 Angular 翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338661/
我最近发现了$ocLazyLoad第三方 Angular 模块,可实现 JavaScript 文件的延迟加载。我对这个概念有点困惑。延迟加载与缓存有何不同,为什么在使用 AngularJS 时要延迟加
应用程序 define(['angular', 'angular-ui-router', 'ocLazyLoad', 'config/common', 'layout/services
在 html 中,我在 app.js 之前加载 oclazyload -
我想使用 ocLazyload 将模块动态包含到我的应用程序模块中。我的代码是 angular.module("one",["oc.lazyLoad"]) .config(function
我正在使用 ocLazyLoad库来实现我项目中所有依赖项的延迟加载。我知道默认情况下文件是并行加载的,为了使其按顺序加载,我应该使用 serie:true https://github.com/oc
我正在做一个大的 Angular 项目,显然我们需要一种方法来延迟加载我们的脚本。 我之前使用过require.js,它非常好,但问题是在我们连接和缩小文件之后,我们得到了一个1.5M 的js 文件。
抱歉,如果这是一个新问题。 我正在将 ocLazyLoad 插件与 AngularJS 和 UI Router 一起使用。我将 ocLazyLoad 与 Ui 路由器结合使用,根据我的 web 应用程
我正在使用 AngularJS 和 ocLazyLoad 插件。我找不到解决我的问题的方法。 我创建了一个组件(名为 component.js)和该组件的 Controller (在单独的文件 com
在我们的一个项目中,我们正在尝试编写一个围绕 ngTable 库的包装器!在此组件的 Controller 中,我们正在加载 ngTable使用ocLazyLoad 。这是我们写的: 数据网格组件 (
我是 Angular 编程的新手,我发现了一个关于使用 ocLazyLoad 的问题。 首先,我将 ocLazyLoad 导入到我的应用程序中。但是控制台出现这些错误。 Error: [ng:areq
我有一个基本的 Angular.js 应用程序,它使用 ocLazyLoad 加载应用程序文件。我正在使用 sbAdminApp 模板的框架。 我的问题是,当我使用带有 ng-click 事件的模板时
我正在使用 oclazyload 根据外部模块的需求进行加载,并且我需要翻译内容,因此我使用 angular-translate 但翻译不起作用,因为代码添加该部分位于异步加载的 Controller
我在实现 $oclazyload 时遇到问题推迟加载我的组件,如下所示 import angular from 'angular'; import uiRouter from 'angular-ui-
我想知道如何处理 ocLazyLoading 中的资源加载错误。我尝试在 $stateProvider 内的解析部分加载一些资源。有一个文件 ctrl.js 可供加载。另一个名为 iam-not-th
来自快速入门 sb-admin-angular ,我正在尝试运行测试,但出现错误 unable to init ocLazyLoad。 (这是 Windows7 机器。) 我用来运行测试的命令是: $
解决见下文!!! 从这个问题/解决方案工作 Stackoverflow question ..... 我编辑了我在这里发布的原始问题,因为它不再值得阅读。 我的问题是我找不到有关以下内容的文档: 使用
当使用 oclazyload 和 ui-router 在 app.config 中定义状态时,我正在尝试将新模块“teSTLazy”加载到应用程序中 我需要连接 require.js 来加载现有应用程
我正在使用 ocLazyLoad 根据路由(和 Controller )延迟加载我的依赖项,这些模块已经注入(inject)到应用程序中,但是,如何在我的 Controller 中添加依赖项注入(in
我在将 oclazyload 与 $stateProvider 一起使用时遇到问题。 我已经指定 Controller .js 应该加载到路由器配置中,它确实加载了,'但是它不能用作 template
我正在使用 Typescript 1.7、AngularJS 1.5.7、oclazyload 1.0.9、ui-grid 3.2.5、ui-router 0.3.1、requirejs 2.2.0
我是一名优秀的程序员,十分优秀!