如何在 angularjs 中使用拆分
how to use split in angularjs
我会像那样获取 ng-model 的日期
Thu May 21 2015 18:47:07 GMT+0700 (SE Asia Standard Time)
但它在控制台中显示 "TypeError: date.split is not a function
" 如何修复它?
$scope.test = function(date) {
console.log(date);
$scope.d = (date.split(' ')[0]);
$scope.m = (date.split(' ')[1]);
$scope.y = (date.split(' ')[2]);
$scope.dd = (date.split(' ')[3]);
}
问题是 date
不是字符串,它是 Date 对象实例。所以你不能对它使用 split 。为了使用它,您可能需要先将其转换为 String。比如像他的:
$scope.test = function(date) {
date = date.toString();
$scope.d = (date.split(' ')[0]);
$scope.m = (date.split(' ')[1]);
$scope.y = (date.split(' ')[2]);
$scope.dd = (date.split(' ')[3]);
};
当您控制台记录它时 console.log(date);
它会自动调用 toString
这就是为什么它对您来说看起来像一个字符串。
另一件事,你真的不应该使用拆分来提取数据。使用 Date 对象的方法,如 getMonth
、.getFullYear
等
可能您传递的日期变量不是字符串,而是没有 split()
方法的 Javascript Date object。您可以继续并将其转换为可以拆分的字符串:
$scope.d = (date.toString().split(' ')[0]);
这可行但效率不高,因为日期将被组合成一个字符串,然后再次解析。更好的方法是使用日期对象本身的属性:
$scope.d = date.getDate();
$scope.m = date.getMonth() + 1;
$scope.y = date.getFullYear();
等等...
在reference上找到所有可用的方法。
更好的办法是保持日期本身不变,并在视图中需要的地方使用日期属性,例如:
<div class="myDate">Year: {{date.getFullYear()}}
我会像那样获取 ng-model 的日期
Thu May 21 2015 18:47:07 GMT+0700 (SE Asia Standard Time)
但它在控制台中显示 "TypeError: date.split is not a function
" 如何修复它?
$scope.test = function(date) {
console.log(date);
$scope.d = (date.split(' ')[0]);
$scope.m = (date.split(' ')[1]);
$scope.y = (date.split(' ')[2]);
$scope.dd = (date.split(' ')[3]);
}
问题是 date
不是字符串,它是 Date 对象实例。所以你不能对它使用 split 。为了使用它,您可能需要先将其转换为 String。比如像他的:
$scope.test = function(date) {
date = date.toString();
$scope.d = (date.split(' ')[0]);
$scope.m = (date.split(' ')[1]);
$scope.y = (date.split(' ')[2]);
$scope.dd = (date.split(' ')[3]);
};
当您控制台记录它时 console.log(date);
它会自动调用 toString
这就是为什么它对您来说看起来像一个字符串。
另一件事,你真的不应该使用拆分来提取数据。使用 Date 对象的方法,如 getMonth
、.getFullYear
等
可能您传递的日期变量不是字符串,而是没有 split()
方法的 Javascript Date object。您可以继续并将其转换为可以拆分的字符串:
$scope.d = (date.toString().split(' ')[0]);
这可行但效率不高,因为日期将被组合成一个字符串,然后再次解析。更好的方法是使用日期对象本身的属性:
$scope.d = date.getDate();
$scope.m = date.getMonth() + 1;
$scope.y = date.getFullYear();
等等...
在reference上找到所有可用的方法。 更好的办法是保持日期本身不变,并在视图中需要的地方使用日期属性,例如:
<div class="myDate">Year: {{date.getFullYear()}}