Javascript 如何在angularjs中使用拆分
我得到的日期为ng模型一样 2015年5月21日星期四18:47:07 GMT+0700(东南亚标准时间) 但它向我展示了控制台Javascript 如何在angularjs中使用拆分,javascript,html,angularjs,split,Javascript,Html,Angularjs,Split,我得到的日期为ng模型一样 2015年5月21日星期四18:47:07 GMT+0700(东南亚标准时间) 但它向我展示了控制台“TypeError:date.split不是一个函数”“如何修复它?” $scope.test = function(date) { console.log(date); $scope.d = (date.split(' ')[0]); $scope.m = (date.split(' ')[1]); $scope.y = (da
“TypeError:date.split不是一个函数”
“如何修复它?”
$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
不是字符串,而是对象实例。所以你不能在上面使用split。为了使用它,您可能需要首先将其转换为字符串。例如,像他的:
$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(日期)
它会自动调用toString
,这就是为什么它看起来像一个字符串
另外,您确实不应该使用split来提取数据。使用对象的方法,如
getMonth
、.getFullYear
等。可能传递的日期变量不是字符串,而是没有split()方法的日期变量。您可以继续并将其转换为可以拆分的字符串:
$scope.d = (date.toString().split(' ')[0]);
这会起作用,但效率不高,因为日期将被合成为字符串,然后再次解析。最好使用日期对象本身的属性:
$scope.d = date.getDate();
$scope.m = date.getMonth() + 1;
$scope.y = date.getFullYear();
等等
在上查找所有可用的方法。
更好的做法是保持日期本身的原样,只在视图中需要日期属性的地方使用它们,例如:
<div class="myDate">Year: {{date.getFullYear()}}
Year:{{date.getFullYear()}