Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未显示范围变量_Javascript_Angularjs - Fatal编程技术网

Javascript 未显示范围变量

Javascript 未显示范围变量,javascript,angularjs,Javascript,Angularjs,我在控制器中设置了范围变量 $scope.patientState = {}; var dateTime = new Date(); $scope.today = moment(dateTime).format("YYYY-MM-DD"); $scope.patientState.stateChangeDate = new Date(); 我在视图中使用这些设置日期的默认值: <input type="date" ng-model="patientState.stateChangeDat

我在控制器中设置了范围变量

$scope.patientState = {};
var dateTime = new Date();
$scope.today = moment(dateTime).format("YYYY-MM-DD");
$scope.patientState.stateChangeDate = new Date();
我在视图中使用这些设置日期的默认值:

<input type="date" ng-model="patientState.stateChangeDate" max="{{today}}"/>
我的问题是,当我在输入标记中设置“max”参数时,我无法看到显示的范围变量,即{patientState.stateChangeDate}不显示任何内容

但是,如果从输入标记中删除“max”参数,我可以看到显示的范围变量


我无法找出原因???

如果您将“最大日期”设置为“今天”,并选择“上一个日期”,则它将在$scope变量中更新,但如果您选择“功能日”,则字段验证将为false,并且不会设置日期变量

看起来它在进行IVALIDATE时会从作用域中删除整个变量

您还可以检查输入字段是否与css类“ng invalid”一起添加

将下面的css添加到您的输入中,并查看,当您没有获得模板值时,该字段将无效(红色)


如果将“最大日期”设置为“今天”,并选择“上一个日期”,则该日期将在$scope变量中更新,但如果选择“功能日”,则字段验证将为false,且不会设置日期变量

看起来它在进行IVALIDATE时会从作用域中删除整个变量

您还可以检查输入字段是否与css类“ng invalid”一起添加

将下面的css添加到您的输入中,并查看,当您没有获得模板值时,该字段将无效(红色)


我觉得问题是因为您已经格式化了
$scope.today
date

以相同的格式转换它们(
$scope.today
&
$scope.patientState.stateChangeDate
)并检查您的问题是否得到解决


这里的问题是当您将
$scope格式化时。今天的
转换为
'YYYY-MM-DD'
格式,今天的
值转换为12AM
。但是您的
$scope.patientState.stateChangeDate
当前时间
,它总是大于
$scope.today

我觉得问题是因为您格式化了
$scope.today
日期

以相同的格式转换它们(
$scope.today
&
$scope.patientState.stateChangeDate
)并检查您的问题是否得到解决


这里的问题是当您将
$scope格式化时。今天的
转换为
'YYYY-MM-DD'
格式,今天的
值转换为12AM
。但是你的
$scope.patientState.stateChangeDate
当前时间
,它总是大于
$scope。今天

谢谢你的回答,我查过了。如果我回到以前的日期,它会工作。谢谢你的回答,我检查了。如果我回到以前的日期,它会起作用。
{{patientState.stateChangeDate}}
input {
    transition:all linear 0.5s;
    background: transparent;
}
input.ng-invalid {
    color:white;
    background: red;
}