我一直在尝试使用 ngModel 对输入元素进行单向和双向绑定。
我希望从视图绑定到模型,以捕获用户输入。我可以通过在组件中创建一个变量(例如someVar )并在相应的视图模板中使用[(ngModel)]="someVar"绑定到它来实现这一点。
我知道这是[ngModel]="someVar"和(ngModelChange)="someVar=$event" 的语法糖。
但是,如果我省略模型以查看绑定,即[ngModel]="someVar",则someVar的值保持未定义。
我无法理解这种行为,因为省略模型绑定的视图不会导致任何问题。
我很清楚我们如何注入服务。我们可以在模块级别或组件级别提供服务。
我希望在该服务依次注入我的组件之前向该服务注入一个特定的属性。有问题的属性取决于我的组件。
如何在 Angular 2 中实现这一点?
例子:
@Injectable()
export class MyService {
constructor(myProperty: string) {
setSomethingUsingMyProperty(myProperty)
}
}
@Component(..., {providers: [MyService] })
export class MyComponent {
constructor(myService: MyService) {
myService.doSomething()
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在上层模块中提供该属性,我认为如果我包含该@Inject指令,Angular 可以注入该属性。但是如何在组件级别实现这一点呢?