如何在基于angularjs的项目中动态更改uploadcare小部件的区域设置
How to dynamically change locale in uploadcare widget in angularjs based project
我在基于angularjs的应用程序中使用uploadcare小部件。我把这个小部件集成为angular指令。
文档说,我应该设置全局变量来改变区域设置:
<script>
UPLOADCARE_LOCALE = 'ru';
</script>
但是我对angular不是很熟悉。所以,我不知道如何动态地做到这一点。
我很乐意得到任何帮助。
我试图添加$rootScope到我的uploadcare指令并设置UPLOADCARE_LOCALE变量:
angular.module("project").directive 'projectUploadcare', ($uploadcare, $rootScope) ->
restrict: 'E'
replace: true
template: '''
<span>
<span class="uploadcare-preview"></span>
<input type="hidden">
</span>
'''
link: (scope, element, attrs) ->
$rootScope.UPLOADCARE_LOCALE = 'ru'
... other code ...
所有全局设置在页面加载时一次读取。区域设置是全局设置,不能为特定的小部件覆盖。但是根据源代码,有一个hack允许在运行时重建翻译。
首先,您需要获取内部Uploadcare API。
var internalUploadcare;
uploadcare.plugin(function(internal) {
internalUploadcare = internal;
});
则可以使用内部internalUploadcare.locale.rebuild
方法重新构建区域设置。第三步是重新初始化页面上现有的小部件。例如:
$('#uploader').html(
$('#uploader input:eq(0)')
);
uploadcare.initialize($('#uploader'));
加起来:http://jsbin.com/comone/1/watch
手动使用
UPLOADCARE_LOCALE_TRANSLATIONS = {
errors: {
'portrait': 'Landscape images only' // message for widget
},
dialog: {tabs: {preview: {error: {
'portrait': { // messages for dialog's error page
title: 'No portrait images are allowed.',
text: 'We are sorry but image should be landscape.',
back: 'Back'
}
} } } }
};
是的:
UPLOADCARE_LOCALE = 'en';
只是要确保在之前设置这个变量。
但是和AngularJS没有关系
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在输入字段中将最小金额设置为
- 砌体不能填补小缺口
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 限制javascript变量的最小/最大整数
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 最小化时暂停Javascript动画
- 如何正确实现Jquery多选小部件
- 微笑时间轴小部件添加自定义字段
- 如何在Symfony2中的表单小部件中包含javascript
- 如何将JSON数据源适合Jquery自动完成小部件
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 通过jquery设置最小高度
- 收听ckeditor小部件事件
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 有没有一种方法可以获得three.js的最小/lite版本
- javascript中两年之间的小时差(带闰年)
- 我什么时候应该把JSON分成更小的部分
- 如何在基于angularjs的项目中动态更改uploadcare小部件的区域设置