相关疑难解决方法(0)

何时在TypeScript/Angular2中使用Interface和Model

我最近使用TypeScript观看了Angular 2的教程,但不确定何时使用接口以及何时使用模型来保存数据结构.

界面示例:

export interface IProduct {
    ProductNumber: number;
    ProductName: string;
    ProductDescription: string;
}
Run Code Online (Sandbox Code Playgroud)

型号示例:

export class Product {
    constructor(
        public ProductNumber: number,
        public ProductName: string,
        public ProductDescription: string
    ){}
}
Run Code Online (Sandbox Code Playgroud)

我想从URL加载JSON数据并绑定到接口/模型.有时我想要一个数据对象,其他时候我想要持有对象的数组.

我应该使用哪一个?为什么?

typescript angular

177
推荐指数
4
解决办法
10万
查看次数

什么用于TypeScript中的纯数据对象:类或接口?

我有一堆只有数据的"类"(在.NET世界中我们称之为POCO对象),它们没有任何方法甚至构造函数.示例是客户,产品,用户实体,您将其命名为......

最初我开始使用typescript类,但现在我认为将它们声明为接口可能会更好.从性能的角度来看,不仅仅是......在C#中,我们习惯使用不同的接口,而对于"POCO"(普通旧clr对象或"仅数据"对象)我们使用只是一个类(有时甚至是结构).

在TypeScript中声明它们的正确方法是什么?

请注意,我主要理解(我认为)类和接口之间的技术差异(即接口是编译时构造),但我试图找出哪种语义符合这种情况.

PS:我见过类似的问题(比如这个),但是没有一个问题清楚明确地解决这个具体问题,所以请不要将其视为'可能重复'或'基于意见'(因为它不是): )

javascript typescript

19
推荐指数
2
解决办法
2925
查看次数

有没有反应方式来存储状态中的可变类实例对象?

不应直接改变 React 状态。但是,如果状态是一个类的实例,它应该是可变的,它有自己的方法。除了必须深度克隆并使用新参数重新实例化对象之外,还有其他方法吗?

一般而言:在父组件中创建的类对象在子组件中使用,同时在父状态(通过道具/上下文传递)保持其属性的反应方式是什么?

示例类

class Car{
    constructor(data){
        this.data = data
    }
    changeColor = (newcolor) => this.data.color = newcolor
}
Run Code Online (Sandbox Code Playgroud)

示例父组件

const App = ({data}) => {
 const [car, setCar] = useState(new Car(data))
  return (
    <div>
      <CarViewer car={car} />
    </div>
  );
};

Run Code Online (Sandbox Code Playgroud)

示例子组件

const CarViewer = ({car}) => {
  return (
    <div>
      The color is: {car.data.color}
    <button onClick={()=>car.changeColor("blue")}>Change color to blue </button>
    </div>
  );
};
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks use-state

7
推荐指数
2
解决办法
1007
查看次数

The different between object and plain object in JavaScript?

Couldn’t understand the difference between object and plain object in JavaScript.

I know how Object looks like but don’t understand plain object. I googled about this but couldn’t understand.

As per my understanding normal object looks like below

  const object = {};
Run Code Online (Sandbox Code Playgroud)

Or we do call functions as objects in JavaScript

function test(){

}
Run Code Online (Sandbox Code Playgroud)

But what is plain object? how it differs with normal object. Thank you

Edit:

My confusion started about plain object after looking at below error. So …

javascript javascript-objects redux

5
推荐指数
3
解决办法
6795
查看次数