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;
}