【问题标题】:How to add counter in angular 6?如何在角度 6 中添加计数器?
【发布时间】:2019-04-02 05:03:33
【问题描述】:

我有一个从服务器获取 cmets 的函数,我想显示服务器中可用的 cmets 总数。

这是.ts文件中的函数:

 this.activeRouter.params.subscribe(params => {
   // tslint:disable-next-line:prefer-const
   let id = params['id'];
   this.userService.getComments(id)
     .pipe(
       map(data => data.sort((a, b) => new Date(b.localTime).getTime() - new Date(a.localTime).getTime()))
      )
      .subscribe(data => this.comments = data);
});

这里是服务中的get函数

  getComments (id: number) {
    return this.http.get<Comment[]>(this.commentsUrl);
  }

这里是显示cmets的html

 <div class="comments-description" *ngFor="let comment of comments">
        <span class="comments_count">(353)</span>
      <div class="comments-photo">
        <img src="https://randomuser.me/api/portraits/men/84.jpg" alt="">
      </div>
      <div class="comments_wrapper">
        <div class="comments_details">
          <h1>{{comment.author}}</h1>
          <span class="days">1d</span>
        </div>
        <div class="comments_text">
          <p>{{comment.description}} </p>
        </div>
      </div>
    </div>

【问题讨论】:

    标签: javascript angular html typescript angular6


    【解决方案1】:

    为什么不简单地使用长度

    <span class="comments_count">{{comments.length}}</span>
    

    【讨论】:

    • 这样的解决方案仅表示已获得的 cmets,而不是“服务器中可用的 cmets 总数”
    • @user9964622 酷..如果这有帮助,请务必检查作为答案:)
    • 没问题堆栈需要我等待一分钟才能接受:P 这是我的另一个线程正在努力格式化日期,如果你不介意,你可以检查它,stackoverflow.com/questions/53033868/…
    【解决方案2】:

    这样的计数器必须在服务器端。

    例如,post 有 10000 cmets。

    1 个请求不会全部获取它们,只会获取一部分(页面)。

    而且为了找出一个计数而将它们全部获取是不好的。

    所以响应应该包含一个“计数”字段。

    【讨论】:

      【解决方案3】:

      如果您在响应中获得了所有 cmets,那么您可以使用 comments.length

      <span class="comments_count">{{comments.length}}</span>
      

      但最佳做法是从 API 端获取它。在您的 API 响应中再添加一个字段用于评论计数。

      【讨论】:

      • 你在后台使用什么?是node.js还是其他!如果是,则提供返回上述数据的后端 API 代码。
      • 我明白了,一切正常,非常感谢,如果你不介意查看我的其他帖子stackoverflow.com/questions/53033868/…
      【解决方案4】:

      解决方案:

      从服务器获取 cmets 数据时,您必须返回 cmets 总数以及新数据。

      调用服务后,您可以在一个数组中添加数据。 并在一个变量中设置总计数。

      注意: 您必须从服务器读取计数并在相同的 API 或服务中返回结果

      【讨论】:

        【解决方案5】:

        更新您的 API 并使用 API 获取 cmets 计数并显示您的评论计数。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-07
          • 2017-12-08
          • 2021-11-08
          • 1970-01-01
          相关资源
          最近更新 更多