Angular 无法设置属性';xxxx和x27;未定义角的

Angular 无法设置属性';xxxx和x27;未定义角的,angular,typescript,ionic-framework,Angular,Typescript,Ionic Framework,我正在尝试用ionic(angular)做一个简单的应用程序 我的问题是:无法设置未定义的属性“origin” 这是interface Product.ts 导出接口产品{ id:编号; 新:布尔; 来源:字符串; 分支:字符串; 产品:细绳;; 数量:字符串; productId:string; 产品详细信息:字符串; 已安装:布尔值; }obj从未分配给任何对象。它只给出了一个类型。您必须使用例如let obj:Products={}。 然后您将遇到一个问题,obj的所有属性都未定义 你最

我正在尝试用ionic(angular)做一个简单的应用程序 我的问题是:
无法设置未定义的属性“origin”

这是interface Product.ts

导出接口产品{
id:编号;
新:布尔;
来源:字符串;
分支:字符串;
产品:细绳;;
数量:字符串;
productId:string;
产品详细信息:字符串;
已安装:布尔值;

}
obj
从未分配给任何对象。它只给出了一个类型。您必须使用例如
let obj:Products={}。
然后您将遇到一个问题,
obj
的所有属性都未定义

你最好边走边思考。例如:

let Qrstring: string = qrcode;
let obj: Products = {
    origin: Qrstring.substring(0, Qrstring.indexOf("-")),
// set the other required properties
};
obj.origin! = Qrstring.substring(0, Qrstring.indexOf("-"));
注意:如果不需要所有属性,可以使用问号操作符在模板中将它们标记为可选。示例
已安装:布尔值请参阅:


然后,您可以使用
将obj:Products={}与Products一样未知来强制转换它(非常粗糙,可能会导致以后出现问题)

您已经定义了类型,但没有初始化它。尝试
让obj:Products=Object.create(null)。感谢朋友的帮助。这是工作:D,但是你能给我一个链接来了解更多关于
对象的信息吗。创建(null)
来知道下次你能看到它时如何使用它。它讨论了b/n语句
Object.create(null)
vs
Object.create({})
。再次感谢对我来说意义重大的朋友:谢谢你,我尝试了你的解决方案,效果很好:D这对我来说意义重大,只要将它标记为已被接受,其他人就会看到它是为你解决的。我做了,再次感谢你