簡體   English   中英

作用域變量未顯示

[英]Scope variable not getting displayed

我在控制器中設置了范圍變量

$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}}"/>

接下來,我在視圖中將范圍變量顯示為

{{patientState.stateChangeDate}}

我的問題是,當我在輸入標簽中設置“ max”參數時,我看不到顯示的范圍變量,即{PatientState.stateChangeDate}}什么都不顯示。

但是,如果從輸入標簽中刪除“ max”參數,則可以看到顯示的范圍變量。

我不知道為什么?

我覺得問題是因為您格式化了$scope.today日期

轉換它們兩個格式( $scope.today$scope.patientState.stateChangeDate )的格式相同,然后檢查問題是否解決!

這里的問題是當您將$scope.today格式化$scope.today 'YYYY-MM-DD'格式時, value of today is converted for 12AMvalue of today is converted for 12AM 但是您的$scope.patientState.stateChangeDatecurrent time ,始終大於$scope.today

如果將最大日期設置為今天並選擇上一個日期,則它將在$ scope變量中更新,但是如果選擇功能日期,則字段驗證將為false,並且不會設置日期變量。

看起來好像它在驗證時從作用域中刪除了整個變量。

您還可以檢查檢查輸入字段是否與CSS類“ ng-invalid”一起添加

將以下CSS添加到您的輸入中,然后查看,只要不獲取模板值,該字段將為無效(紅色)。

input {
    transition:all linear 0.5s;
    background: transparent;
}
input.ng-invalid {
    color:white;
    background: red;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM