배열에 개체가 거의없고 유형 날짜가 붙은 개체에 팩토리에서 일부 소품을 추가하고 싶습니다.기존 객체에 프로토 타입 속성을 추가하는 방법
이 개체에서 이전 값을 제거하지 않아도됩니다. 나는 이런 식으로하려고합니다 :
angular.forEach($scope.things, function(item) {
if(item.type === 'date') {
item = DateFactory.prototype.createFactory();
}
})
하지만 내가 잘못한 곳에서 작동하지 않습니까? 구문 아래 프로토 타입 사용의 연결을 위해
'createFactory' 란 무엇입니까? 프로토 타입에서 메서드를 호출하는 이유는 무엇입니까? – Bergi
이 경우 팩토리를 사용하는 것은 실수입니다. 왜냐하면이 팩토리는 클래스 * (클래스의 인스턴스가 아닌) *를 생성/반환하기 때문입니다. 좀더 정확하게 말하자면,이 팩토리가 호출 될 때마다 동일한 정적/변경되지 않은 클래스의 새로운 화신입니다. 코드 예제에서 수행하려는 작업은 sth입니다. '$ scope.things = $ scope.things.map (item => item.type === 'date'? Object.assign (new DateClass(), item) : item)'와 비슷하지만, 호출 할 때마다 새로운 날짜 - 클래스를 생성하는 팩토리 대신 'DateClass'를 제공하도록 코드를 변경해야합니다. – Thomas
이고'DateFactory.prototype.createFactory()'메소드는 전혀 이해가되지 않는다. 그것은 존재하지도 않고 무엇을 하는가도 아닙니다. – Thomas