首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$scope.$apply等价于Angular5

$scope.$apply等价于Angular5
EN

Stack Overflow用户
提问于 2018-05-05 07:58:30
回答 1查看 354关注 0票数 1

我正在做一个项目(Ionic3和Angular5)。

我从外部.js文件中更改了以下输入中的值

代码语言:javascript
复制
<input [(ngModel)]="name" 
       (ngModelChange)="valueChange()" 
       id="data">

但是函数valueChange()不被调用。

我以前在Angular1中使用$scope.$apply做过这件事,但是在Angular5中我不知道如何做同样的事情。在Angular5中这样做的等效方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-05-05 08:04:24

markForCheck():将所有ChangeDetectionStrategy祖先标记为要检查。detectChanges():检查变更检测器及其子程序。

例子:-

代码语言:javascript
复制
import { Component,
         Input,
         ChangeDetectionStrategy,
         ChangeDetectorRef } from '@angular/core';

@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class ChildComponent {
  @Input() data: string[];

  constructor(private cd: ChangeDetectorRef) {}

  refresh() {
    this.cd.detectChanges();
  }
}

这是一篇非常好的关于角度变化检测的文章:- https://alligator.io/angular/change-detection-strategy/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50187128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档