该功能在模型上运行3次

时间:2018-02-13 00:52:03

标签: angular

我创建了一个类作为模型文件

export class Category {
    constructor(
        public name: string,
        public numberOfVisits: number
    ) {
    }

    addVisit(){
        return this.numberOfVisits += 1;
    }
}

这是我的组件

export class AppComponent {
  category: Category;
  constructor() {
    this.category = new Category('Search', 1);
  }
}

这是我的HTML:

<div class="block">
 {{category.name}}<br />
 Number of visits: {{category.addVisit()}}
</div>

当我刷新页面时,我得到:访问次数:3 但是,我希望得到1分。 当我调试时,我看到程序在模型上运行3次。 有谁有任何想法,为什么?

1 个答案:

答案 0 :(得分:1)

创建一个单独的getter来获取访问次数。 更新您的模型,如下所示:

getUser = ({ login }: User ) => ajax(`${API}/users/${formatLogin(login)}`);

您的示例模板:

export class Category {
    constructor(
        public name: string,
        public numberOfVisits: number
    ) {
    }
    addVisit(){
        return this.numberOfVisits += 1;
    }
    getVisits(){
      return this.numberOfVisits;
    }
}

请检查工作plunker