AngularJS에서 팩토리를 만드는 데 문제가 있습니다. 컨트롤러의 코드를 공장으로 옮기고 작동하도록 몇 가지 변경을합니다. JS 프로토 타입 : uncaught typeerror undefined가 함수가 아닙니다.
이
나는 데 오류입니다 :"엘 objeto 더 acepta 라 propiedad 오 엘 método 'addPoint'"(IE)에 ("속성 또는 메서드 'addPoint'를 지원하지 않는 객체"없다)
function Shape (shape) {
this.ToolName = shape.tool;
this.LineColor = shape.lineColor;
this.LineWidth = shape.lineWidth;
this.LineCap = shape.lineCap;
this.FillStyle = shape.fillStyle;
this.isFilled = shape.filled;
this.isStroked = shape.stroked;
this.Points = [];
}
Shape.prototype.addPoint = function(point){
if(this.ToolName!=='pencil' && this.Points.length>1){
this.Points.pop();
}
this.Points.push(point);
};
이 때이 작동하는 데 사용 :
이 내 코드) 크롬 ("catch되지 않는 형식 오류 정의되지 않은 함수 아니다" 컨트롤러 내부에 있지만 지금은 공장 내부에서는 그렇지 않습니다.
감사합니다.
편집 :
죄송합니다. 더 많은 코드를 공유하지 않았습니다. 여기에 소스 코드가 있습니다 : https://github.com/michaeljota/Arheados/blob/master/app/scripts/controllers/main.js
이것은 컨트롤러의 코드입니다. 내가하고 싶은 것은 $ scope로 처리 할 수없는 모든 것을 Factory로 변환하는 것이다. 어떤 이들은 서비스를 제안하지만, 나는 서비스가 어떻게 작동하는지 잘 이해하지 못합니다.
다시 한 번 감사드립니다!
공장 출하시 읽어야 할 수도 있습니다. factory가 제공된 클래스를 새로 작성하지 않으면 팩토리를 사용할 때 인스턴스를 작성해야합니다. 서비스 사용은 어떻습니까? 더 많은 코드를 공유하십시오. – PSL
이 코드가 전부입니까? 이 오류가 표시되는 것처럼 보이지 않습니다. –
GitHub 코드를 컨트롤러에 추가합니다. 둘 다 고마워. –