$filter('date')在控制器中使用$scope变量作为格式时未更新格式
$filter('date') not updating format when using $scope variable for format in controller
在angular中,我有一个简单的下拉菜单来设置数据格式
为了学习angularJS数据绑定,我想在控制器中截取选定的值,并在$filter("日期")中使用它来根据选定的格式更改显示的日期
以下是HTML和控制器代码:
<select ng-model="selector">
<option value="dd/MM/yyyy">Euro</option>
<option value="MM/dd/yyyy">USA</option>
<option value="yyyy/MM/dd">JPN</option>
</select>
<span>
Formatted Date: {{ formattedDate }}
</span>
$scope.selector = 'MM/dd/yyyy';
var nowDate = new Date();
$scope.formattedDate = $filter('date')(nowDate, $scope.selector);
通过从下拉列表中选择一个新值,选择器变量将被正确设置,但formattedDate不会更改,但它仍然初始化为第一个值
通过在HTML中使用角度过滤器,它可以很好地工作:
{{ nowDate | date : selector}}
观察方式
将$watch
添加到selector
更改时的激发过滤器:
$scope.$watch(function () {
return $scope.selector;
},
function (newValue, oldValue) {
$scope.formattedDate = $filter('date')(nowDate, newValue);
});
Fiddle中的演示1
吴
将ng-chage
指令设置为<select>
$scope.fireFilter = function(){
$scope.formattedDate = $filter('date')(nowDate, $scope.selector);
}
HTML
<select ng-model="selector" ng-change="fireFilter()">
Fiddle中的演示2
为了获得更好的性能,我将使用ng-chage
方式
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 通过CSV文件上载更新数据库表
- CouchDB 日期格式自动更新
- 制作自动更新,Facebook风格的时间格式
- 您是否知道一个JavaScript库,它可以让您嵌入实时更新网页格式的文本区域
- $filter('date')在控制器中使用$scope变量作为格式时未更新格式
- 避免无效路径格式错误在D3更新
- 使用PHP更新后,在数据库中插入错误格式的日期
- 更新jqGrid行时格式丢失
- 使用“document.write”更新页面会删除格式
- 将SQL Date更新为ISO格式
- 基于另一个对象更新JSON格式的JavaScript对象