Angular中的日期类型绑定时会发生什么

时间:2018-12-24 00:54:28

标签: angular

为什么mydate(日期类型)。 setMonth(mydate.getMonth()+ 1)不会在视图中引起角度刷新mydate?

当我使用时,mydate = 新的Date(mydate.setMonth(mydate.getMonth()+ 1)); 视图将获得正确的值吗?

test.component.html

currentDate: Date = new Date(); // get now
// others ...
nextMonth() {
  this.currentDate.setMonth(this.currentDate.getMonth() + 1);
}

代码1

test.component.ts

currentDate: Date = new Date(); // get now
// others ...
nextMonth() {
  this.currentDate = new Date(this.currentDate.setMonth(this.currentDate.getMonth() + 1));
}

预期结果

当我单击“下一步”按钮时,标签将显示下个月的月份。

实际结果

单击“下一步”按钮没有任何改变。当我在nextMonth方法结束时console.log(this.currentDate)时,它显示下个月的值。但视图没有变化。

代码2

test.component.ts

{{1}}

预期结果与实际结果

单击“下一步”按钮,标签值更改。

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

import OpenSSL.crypto

def load_public_key(pfx_path, pfx_password):
        ''' Read the public key and return as PEM encoded '''

        # print('Opening:', pfx_path)
        with open(pfx_path, 'rb') as f:
                pfx_data = f.read()

        # print('Loading PFX contents:')
        pfx = OpenSSL.crypto.load_pkcs12(pfx_data, pfx_password)

        public_key = OpenSSL.crypto.dump_publickey(
                OpenSSL.crypto.FILETYPE_PEM,
                p12.get_certificate().get_pubkey())

        print(public_key)

        return public_key

然后在您的test.component.html中使用

  locale = "en-us";
  currentMonth = new Date().toLocaleString(this.locale, {
      month: "long"
   });

 nextMonth() {
  this.currentDate.setMonth(this.currentDate.getMonth() + 1);
  this.currentMonth =  this.currentDate.toLocaleString(this.locale, {
  month: "long"
  });
}