代码之家  ›  专栏  ›  技术社区  ›  bellotas

比较HTML文件中的两个字符串-角度

  •  0
  • bellotas  · 技术社区  · 5 年前

    我用的是角7,我想知道如何比较两者 strings date ,比如“2019-12-26”和“2018-12-26”。

    Javascript

    console.log(today > "2018-12-06");
    

    就像我想象的那样。它基本上会回来 true . 不过,我正在尝试从我的HTML文件中执行完全相同的操作

     <div *ngIf="today > example.endDate">
    

    存在 today 和'示例.endDate“二” 包含完全相同的 我用来做 Javascript 例如,但它没有显示任何一个。

    有没有其他方法可以做这个比较?

    当做, 马里奥

    我又看了一遍这个问题,似乎比较不是问题,但获取变量的方法是。

    ngOnInit() .

     ngOnInit() {
    
        this.getCurrentDate();
      }
    
      //Get current date
      getCurrentDate() {
        let aux = new Date();
        //2 characteres
        let dd = String(aux.getDate()).padStart(2, "0");
        let mm = String(aux.getMonth() + 1).padStart(2, "0"); //January is 0!
        let yyyy = aux.getFullYear();
        let today = yyyy + "-" + mm + "-" + dd;
        let other = "2019-01-31";
      }
    

    问题是我直接在 HTML 我之前的表现。我得到的错误是:

    错误错误:ExpressionChangedAfterItHasBeenCheckedError:表达式 已在检查后更改。上一个值:“ngIf:未定义”。 当前值:“ngIf:true”。

    所以问题是我在 HTML格式 在获取 value . 或者至少我是这么理解的

    Stackblitz 代表性。在这方面,我创造了两个例子:

    1. 变量未打开 恩戈尼尼特()
    2. 变量 恩戈尼尼特()

    https://stackblitz.com/edit/angular-jjgsmq?file=src%2Fapp%2Fhello.component.ts

    0 回复  |  直到 5 年前
        1
  •  2
  •   Or Yaacov    5 年前

    最简单的解决办法就是 你确定ngOnInit是适合你的生命周期钩子吗? 如果组件“重”的话,我会尝试ngAfterContentInit(),以呈现我选择的ngAfterViewInit()

    <div *ngIf="IsTodayBigger()">
    
        ngOnInit() {
        this.getCurrentDate();
      }
    
     IsTodayBigger(): boolean {
        today=this.getCurrentDate()
        exampleEndDate= example.endDate;//use binding or ViewChild if needed
      return today&&exampleEndDate&& today> example.endDate
      }
    
      //Get current date
      getCurrentDate() {
        let aux = new Date();
        //2 characteres
        let dd = String(aux.getDate()).padStart(2, "0");
        let mm = String(aux.getMonth() + 1).padStart(2, "0"); //January is 0!
        let yyyy = aux.getFullYear();
        today = yyyy + "-" + mm + "-" + dd;
        let other = "2019-01-31";
      }