这应该是非常基本的,但我无法通过它。
我有一门课,比如:
class MyObject {
value: number;
unit: string;
constructor(value: number, unit: string){
this.value = value;
this.unit = unit;
}
}
然后在HTML中,
<input id="myValue" type="number"></input>
<input id="myUnit" type="text"></input>
我想使用myValue和myUnit创建一个“MyObject”类的对象。我该怎么做?
比如:
var value = document.getElementById("myValue");
var unit = document.getElementById("myUnit");
myObject: MyObject = new MyObject(value, unit);
不能用上面的方法做这件事。有什么办法呢?
改变:
var value = document.getElementById("myValue");
var unit = document.getElementById("myUnit");
myObject: MyObject = new MyObject(value, unit);
致:
var value = parseFloat(document.getElementById("myValue").value);
var unit = parseFloat(document.getElementById("myUnit").value);
myObject: MyObject = new MyObject(value, unit);
let value : number = parseFloat((<HTMLInputElement>document.getElementById("myValue")).value);
let unit : string = (<HTMLInputElement>document.getElementById("myUnit")).value;
myObject: MyObject = new MyObject(value, unit);
也可以这样写:
let value : number = parseFloat((document.getElementById("myValue") as HTMLInputElement).value);
let unit : string = (document.getElementById("myUnit") as HTMLInputElement).value;
myObject: MyObject = new MyObject(value, unit);
请注意,我没有使用var,而是使用let,这使您能够更好地控制代码。
注:使用as或直接浇铸过孔
在typescript教程中,他们还使用“as”:http://www.typescriptlang.org/docs/handbook/asp-net-4.html
以下是TypeScript中的最终答案(将HtmleElement强制转换为HTMLInputElement的参考:HtmleElement类型的值上不存在属性“value”)
var value = parseFloat((<HTMLInputElement>document.getElementById("myValue")).value);
var unit = (<HTMLInputElement>document.getElementById("myUnit")).value;
myObject: MyObject = new MyObject(value, unit);
将HTMLElement强制转换为HTMLInputElement很重要,否则TypeScript中HTMLElement的“value”属性不存在,TypeScript编译器将显示错误。
8.5. 构造值对象 Go有一个内建的new函数,用于在堆上为任意类型变量分配一个空间。新分配的 内存会内自动初始化为0。 例如,new(int) 会在堆上分配一个整型大小的空间, 然后初始化为0,然后返回 *int 类型的地址。 和C++中不同的 是,new是一个函数而不是运算符,因此 new int 用法是错误的。 对于字典和管道,必须用内建的make函数分配空间。对于没有初始化的字典或 管道
问题内容: 我是HTML的新手,正在尝试学习如何使用表单。 到目前为止,我最大的问题是对齐表格。这是我当前的HTML文件的示例: 问题在于,“电子邮件”后的字段框与名字和姓氏相比在空格方面有很大不同。使其真正“排队”的“正确”方法是什么? 我正在尝试练习良好的格式和语法…很多人可能不确定使用CSS来做到这一点,到目前为止,我仅了解HTML的基本知识。 问题答案: 另一个使用CSS的示例,我只是将表
问题内容: 我在作业上碰壁,一直在梳理网站以寻求任何有用的信息(出现空白)。我需要创建一个类,在该类中创建一个构造函数,然后再创建一个子类以扩展超类。然后,我需要使用main方法创建一个新文件来演示这两种情况。从概念上来说没问题。 我的问题是:如何使用构造函数初始化对象,但需要用户输入? 现在我得到的错误是:“类CarRental中的构造函数CarRental无法应用于给定类型;必需:String
问题内容: 注意: 以下答案与评论反映了2009年旧版浏览器的状态。现在,您实际上可以在2017年使用JavaScript和dataTransfer或FileList对象动态/以编程方式设置文件输入元素的值。 有关详细信息和演示,请参见此问题的答案: 如何以编程方式设置文件输入值(即:拖放文件时)? 如何设置此值? 问题答案: 由于安全原因,您不能。 想像: 您不希望所访问的网站能够做到这一点,对
问题内容: 如何在输入框中获取输入框中的值? 问题答案: 每次释放键都会触发onkeyup。虽然它看起来是解决方案,但它仍然存在一些问题。 如果用户使用箭头移动光标,则会触发该光标,并且您必须检查自己是否字段值没有更改。 如果用户使用鼠标在输入字段中复制/粘贴一个值,或者在浏览器中单击“撤消/重做”,则不会触发。 就像在Mac或Google文档中一样,我不想保存按钮来在我们的应用程序中提交表单,这
我想给一个对象里所有值为null的属性赋其它值,比如: 有没有大佬知道 assignDefaults 这个函数如何实现?