动态更改ng-model-options属性

时间:2017-05-04 18:18:49

标签: angularjs

我需要使用在同一表单上选择用户配置文件确定的时区偏移来显示时间输入字段。

我在链接函数中定义范围getTzOffset fn,以便我可以在ng-model-options中使用它,如下所示:

<input ng-model="myTimeObject" type="time" ... ng-model-options="{timezone: getTzOffset()}" ... >

但这并不奏效。 getTzOffset永远不会被调用。

我使用带有输入字段的日期选择器,这需要一个时区。我不需要修改日期对象或其字符串表示,我需要时区偏移,以便datepicker可以知道如何将日期对象正确转换为UTC时间。当通过界面选择不同的用户时,我需要更改时区。

有没有办法动态更改ng-model-options属性?

1 个答案:

答案 0 :(得分:0)

您可以使用角度日期过滤器选项:timezone。

Sample Plunker

我们的想法是将第三个参数用于日期过滤器,并通过变量使其可更改。

{{ inputTime | date: "HH:mm:ss": tzInput }}

你也可以使用$ filter在代码中生成值并存储它,如:

$scope.inputTime = $filter('date')($scope.inputTime , "HH:mm:ss", $scope.tzInput);