【问题标题】:How to apply date in Angular2?如何在Angular2中申请日期?
【发布时间】:2017-04-13 18:39:10
【问题描述】:

这是我今天的功能:

public static todaysDate(month: number): string {
        let day = new Date().getDate();
        let year = new Date().getFullYear();
        return "<span>" + day + ", " + "</span>" + year;
    }

这是明天的日期:

public static tomorrowsDate(month: number): string {
            let day = new Date().getDate() + 1;
            let year = new Date().getFullYear();
            return "<span>" + day + ", " + "</span>" + year;
        }

在我的 HTML 中:

<ul class="text-left">
                <li><img src="../left.png"/></li>
                <li><span [innerHTML]="date"></span></li>
                <li><img src="../images/right.png"/></li>
            </ul>

我正在使用 [innerHTML] 来呈现 HTML &lt;span&gt;&lt;/span&gt; 标签。

这是我的组件:

this.date = Date.todaysDate(this.month);
this.dateTomorrow = Date.tomorrowsDate(this.month);

如何在 right.png 和 left.png 图像点击中应用明天日期和昨天日期?

【问题讨论】:

    标签: javascript html angular date typescript


    【解决方案1】:

    您的函数最好返回一个日期并使用插值字符串中的管道重新格式化为所需的日期格式。

    像这样 {{ date |日期}}

    这里有一个例子:https://plnkr.co/edit/amip8h2pZMxeM7fi7yAZ?p=preview

    因为没有你的图片,所以我使用按钮,但代码应该基本相同。

      <ul class="text-left">
           <li><button (click)="todaysDate(3)">left</button></li>
           <li>{{date | date}}</li>
           <li><button (click)="tomorrowsDate(3)">right</button></li> 
      </ul>
    

    及组件功能:

    export class App {
        name:string;
        date: date;
        constructor() {
           this.name = `Angular! v${VERSION.full}`
        }
    
      todaysDate(month: number): void {
        let day = new Date().getDate();
        let year = new Date().getFullYear();
        this.date = new Date(year, month, day);
    
      }
    
      tomorrowsDate(month: number): void {
            let day = new Date().getDate() + 1;
            let year = new Date().getFullYear();
            this.date = new Date(year, month, day);
      }
    }
    

    【讨论】:

    • 函数中的“3”是什么??
    • 你的函数都以一个月为参数...所以我假设我们需要传入月份数?
    • 如果一个月不需要通过,那就去掉3,把功能改成不需要一个月。
    • 组件中会自动传递哦 :)
    • 那么 plunker 是否足以让您朝着正确的方向开始?
    【解决方案2】:

    您需要为每个按钮绑定click 事件。在您的点击事件中,更新您的 date 变量。所以你的html会像

    <ul class="text-left">
        <li><img ng-click="yesterdayDate()" src="../left.png"/></li>
        <li><span>{{date}}</span></li>
        <li><img ng-click="tomorrowDate()"src="../images/right.png"/></li>
    </ul>
    

    【讨论】:

    • 可以绑定多个点击事件吗?这是 Angular2,而不是 AngularJS。 )
    • 多次点击事件是什么意思?如果是 angular2 请更新您的问题标签
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    相关资源
    最近更新 更多