【发布时间】:2016-08-28 23:45:39
【问题描述】:
在 Angular 2 应用程序中,假设我有一个“SaveComponent”,单击其保存按钮会调用一个函数 isDirty(),该函数返回 true 或 false(如果父组件的内容已被修改,则返回 true)。请注意,使用“SaveComponent”的原因是它具有样式和与之关联的其他“小部件”,它们在许多组件之间共享。
目前在每个父组件中都定义了一个isDirty函数,该函数在父模板内部传递给SaveComponent如下:
<save-component [isDirty]="isDirty"> </save-component>
如果您愿意的话,SaveComponent 的简化版本是这样定义的...
import {Component, Input} from 'angular2/core';
@Component({
selector: 'save-component',
templateUrl: 'who-cares-to-know.component.html'
})
export class SaveComponent {
@Input() isDirty;
}
它最初仅起作用。即使内容被修改,isDirty 函数似乎也只返回 false (或者只调用一次?)。请注意,当从父组件调用该函数时,它确实可以正常工作。
怎么了?是否可以通过@Input 或其他方式将功能从父组件传递给子组件?谢谢!
【问题讨论】:
-
您是在文本框上使用
[(ngModel)]="isDirty"还是在更新您的价值? (在父组件上)
标签: angular