2014-07-01 2 views
0

유성에 대해 생성 된 모든 속성을 다른 객체에 쉽게 추가 할 수있는 클래스를 만들고 싶습니다.다른 객체에 모든 속성을 추가하는 클래스

class TemplateName extends View 

    propertyName: 

    property: value 

는 내가 알 필요하면을 구성하는 방법입니다 :

는 일반적으로 하나가 템플릿에 속성을 추가하려면 다음을 수행합니다 :

Template.templateName.propertyName = { property: value } 

그러나 나는 이런 일을하고 싶지 위의 코드는 View 클래스입니다.

편집 1 : 그것은 Template 클래스의 같은 이름의 재산에 대한 상속인의의

View 클래스는 모든 속성을 추가해야합니다. PostsIndexView 연장 경우

따라서 속성 posts는 값 Template.PostsIndex 추가되어야 다음의 속성이 posts, PostsIndex 첨가된다.

편집 2 :

다른 옵션도 같이 환영하는 예를 들어 다음

Template.TemplateName.extendWith -> 

    propertyName: 

     property: value 

내가 단서가 없기 때문에 그것이 가능 어디서 경우, 아직 아무것도 시도하지 않았다 I 시작해야합니다.

크로스 브라우저 방식으로 가능합니까?

Template.TemplateName extends 

    property: value 
+0

은'View' 클래스는 무엇을해야합니까 : – Bergi

+0

@Bergi 업데이트 됨! –

+0

"속성 추가"는 언제해야합니까? 'TemplateName'이 선언되었을 때? 그것이 인스턴스화 될 때? 'posts'가 변경 될 때마다? – Bergi

답변

0

는 커피 스크립트가 같이 다만 수 알고 보니? 너 무슨 짓을 한거야? 무엇이 효과가 없었습니까?
+1

아니요. 여기서'extends'을 남용하고 있습니다. 생성자 함수에서 호출되지 않으면 이상한 결과가 나타납니다. 간단한'= '할당으로 바꾸십시오! – Bergi

+0

@Bergi 너무 나쁘다 ..이 객체에 이미 데이터가 있기 때문에'= '할당을 사용할 수 없습니다 .. 다음 링크에서'Temlate.TemplateName' 객체가 처음 생성되는 방법을 보게 될 것입니다. 이것은 생성자가 아닙니까? 로깅은'constr {...}'을 보여줍니다. https://github.com/meteor/meteor/blob/devel/packages/templating/global_template_object.js –

+0

'Template.TemplateName.data'와 같은 것에 할당하는 것은 어떨까요? 원하지 않는다면, '속성'에 객체 리터럴을 사용한다면 [확장] (http://underscorejs.org/#extend) 함수가 필요할 것이다. – Bergi

관련 문제