看看这个Plunker:https://plnkr.co/edit/yu95hUrKlUh4Ttc5SwYD ? p = preview
当我使用时<mat-slide-toggle>,我能够修改组件中的值:
<mat-slide-toggle [(ngModel)]="myFlagForSlideToggle">Toggle me!</mat-slide-toggle>
Run Code Online (Sandbox Code Playgroud)
myFlagForSlideToggle 按预期更新.
但是当我使用时<mat-button-toggle>,值不会更新.我不得不补充ngDefaultControl甚至让这个例子工作,但我不确定它是如何重要的.
<mat-button-toggle [(ngModel)]="myFlagForButtonToggle" ngDefaultControl>Toggle me!</mat-button-toggle>
Run Code Online (Sandbox Code Playgroud)
将按钮状态绑定到组件的正确方法是什么?
我从正在使用的库中收到以下界面:
export interface LatLng {
constructor(lat: number, lng: number): void;
lat(): number;
lng(): number;
}
Run Code Online (Sandbox Code Playgroud)
如何创建此类的实现?(我需要一个测试模型)一个自然的实现,其构造函数定义为:
export class LatLngImpl implements LatLng {
constructor(private _lat: number, private _lng: number) { }
Run Code Online (Sandbox Code Playgroud)
无法编译:
类“ LatLngImpl”错误地实现了接口“ LatLng”。属性“构造函数”的类型不兼容。类型“功能”不能分配给类型“(纬度:数字,lng:数字)=>>无效”。类型'Function'不提供签名'(lat:number,lng:> number):void'的匹配项
我读过有关打字稿中的构造函数接口的信息,但我认为它不适用于此处。
编辑:
我不需要理解的是constructor()接口中的此声明。具有构造函数签名的接口使用new ()语法。
我想知道org.springframework.beans.factory.config.Scope.resolveContextualObject(String key)和的目的是org.springframework.beans.factory.config.Scope.getConversationId()什么?
从javadoc:
对象resolveContextualObject(字符串键)
解决给定键的上下文对象(如果有)。例如,键“ request”的HttpServletRequest对象。
字符串getConversationId()
返回当前基础范围的对话ID(如果有)。对话ID的确切含义取决于基础存储机制。对于会话范围的对象,会话ID通常等于会话ID(或从会话ID派生)。如果自定义对话位于整个会话中,则当前对话的特定ID是合适的。
这个描述告诉我的并不多。您能否举一些例子说明如何使用这些方法?
我的观察是,它resolveContextualObject(String key)看起来像代码的气味,作用域可以在其中暴露一些内部对象。