我有一个AngularJS 1.0.7网络应用程序。
我正在使用集成在指令中的JQuery-UI datepicker组件。另一方面,我的应用程序本地化为英语和西班牙语。
我有一个包含语言区域设置的服务。每当语言环境发生变化时,我想更改jquery datepicker组件语言环境。
我在这里看到了JQuery中的示例:http://jqueryui.com/datepicker/#localization。这很简单。但问题是我需要从服务访问jquery组件。
我想这不是Angular的方式。我怎样才能做到这一点?
更新
好吧,我发现了这篇帖子DOM manipulation in AngularJS services。 那么,我的情景可以适应它吗?
答案 0 :(得分:0)
有效。如果可以从服务更新DOM元素。
答案 1 :(得分:0)
我想到的解决方案是:您可以在en-US
,service
甚至factory
中保留您的区域设置值(例如value
),然后在关于该特定值的指令$watch
上,当它发生更改时,您可以使用首选值更改/重新呈现组件。我认为这是Angular的做法;)
希望我能回答你的问题。
答案 2 :(得分:0)
如果更改locale
是唯一的需要,则无需转到service
只需查看datepicker
的本地化,并在监视处理程序中调用以下选项
$scope.$watch("locale",function(newVal,oldVal){
angular.element("#datepicker").datepicker( "option",$.datepicker.regional[newVal] )
});