2014-10-30 2 views
2

맞춤 위젯을 정의하고 내부에 Dijit/form/Button을 작성하고 첨부 지점을 추가하고 싶습니다. 그러나 어떤 이유로 든 부착 점이 보이지 않습니다.프로그래밍 방식으로 부착 점 정의

postCreate: function() { 
    require(["dijit/form/Button", "dojo/dom", "dojo/domReady!"], function(Button, dom){ 
    // Create a button programmatically: 
    var myButton = new Button({ 
     label: "Click me!", 
     "data-dojo-attach-point": "myButton" 
    }, "progButtonNode").startup(); 
    }); 

    console.debug(this.myButton); // returns undefined 
} 

답변

2

기술적으로 당신은 할 수 있습니다. 그러나 Dojo는 구문 분석 할 모든 첨부 지점을 색인화합니다. 그래서 버튼을 동적으로 추가하려면 dom을 파싱해야합니다.

+0

이것은 합리적인 것처럼 보입니다. 설명해 줄 수 있니? 어떤 시점에서 parser.parse()를 호출해야합니까? – Oleg

+2

"parser.parse()"를 사용하는 까다로운 방법이 있습니다. 페이지가 통과하지 못하면 "이미 등록 된"오류가 표시되거나 "rootNode"를 추가하여 추가 한 노드 만 구문 분석 할 수 있습니다. 속성을 파서에 전달합니다. 내가 한 일은 단추 인 위젯을 만드는 것이 었습니다. 위젯의 템플리트는 접속 지점이있는 단추를 정의합니다. 그렇게하면 버튼이 필요할 때마다 동적으로 버튼을 만들어 첨부 할 수 있습니다. 'widgetinstance.attachpoint'에서 액세스 할 수 있습니다. 이 도움이되기를 바랍니다 – shakirthow

+0

좋아요! 설명에 감사드립니다. – Oleg

관련 문제