AngularJS如何在服务属性值更改时更改jquery组件
我有一个AngularJS 1.0.7 web应用程序 我正在使用集成在指令中的jQueryUIDatePicker组件。另一方面,我的申请是用英语和西班牙语本地化的 我有一个保存语言区域设置的服务。每当区域设置更改时,我都希望更改jquery datepicker组件的区域设置 我在这里看到了JQuery中的示例:。这很容易。但问题是我需要从服务访问jquery组件 我想这不是一种有棱角的方式。我怎样才能做到这一点 更新 嗯,我找到了这个帖子。AngularJS如何在服务属性值更改时更改jquery组件,jquery,angularjs,jquery-ui,jquery-ui-datepicker,Jquery,Angularjs,Jquery Ui,Jquery Ui Datepicker,我有一个AngularJS 1.0.7 web应用程序 我正在使用集成在指令中的jQueryUIDatePicker组件。另一方面,我的申请是用英语和西班牙语本地化的 我有一个保存语言区域设置的服务。每当区域设置更改时,我都希望更改jquery datepicker组件的区域设置 我在这里看到了JQuery中的示例:。这很容易。但问题是我需要从服务访问jquery组件 我想这不是一种有棱角的方式。我怎样才能做到这一点 更新 嗯,我找到了这个帖子。 所以,我的场景可以适应它吗?它正在工作。如果您可
所以,我的场景可以适应它吗?它正在工作。如果您可以从服务中更新DOM元素。我想到的解决方案是:您可以在
服务
、工厂
,甚至值
中保留您的区域设置值(例如en-US
),然后在该特定值发生变化时,在您的指令$watch
中保留该值,可以使用首选值更改/重新渲染组件。我认为这是一种有棱角的方式;)
希望我能回答您的问题。如果只需要更改
区域设置
,则无需使用服务
,只需查看日期选择器的本地化情况,并在手表处理程序中调用以下选项即可
$scope.$watch("locale",function(newVal,oldVal){
angular.element("#datepicker").datepicker( "option",$.datepicker.regional[newVal] )
});