2016-07-11 106 views
0

我需要把所有的輸入代碼爲[輸入]和標籤作爲#tag如何獲取代碼的html的正確形式(輸入...)angular2

,因爲當我試圖讓HTML代碼與jQuery的console.log($("#content")[0].outerHTML);

對於爲例這部分的代碼變成

<div dnd-droppable [dropZones]="['docGrid']" (onDropSuccess)="transferDataSuccess()" class="page" id="content" size="A5" layout="portrait" > 
        <div #content hidden></div> 
       </div> 

這樣

<div _ngcontent-ugk-10="" class="page" dnd-droppable="" id="content" layout="portrait" size="A5" ng-reflect-dropzones="docGrid"> 
        <div _ngcontent-ugk-10="" hidden=""></div> 
       </div> 

我需要得到像是寫在我的IDE謝謝

+1

你能解釋一下嗎? – AngJobs

+0

我只需要獲得我在IDE中編寫的相同代碼即可。當我想要得到的代碼html有一些差異,如在示例中所示,謝謝 –

+0

這是正常的,因爲Angular接管你的html – AngJobs

回答

0

有沒有辦法做到這一點,但你可以得到Component的內聯模板。但是你不能改變它。爲了讓聯模板(和當只有1註解你的組件),可以使用:

Reflect.getMetadata('annotations', ComponentClass)[0].template; 

舉例來說,如果你有一個AppComponent

@Component({ 
    selector : 'app', 
    template : '<div>hi</div>' 
}) 
export class AppComponent { 

    constructor() { 
     console.log(Reflect.getMetadata('annotations', AppComponent)[0].template;) 
     //<div>hi</div> 
    } 

} 
+0

在哪裏以及如何使用這reflect.getMetadata?有一些要添加的導入?謝謝 –

+0

我加了一個例子。沒有必要的進口。它來自反射元數據node_module – PierreDuc

+0

我添加了它,但我有一個錯誤屬性'getMetadata'不存在'typeof'類型Reflec 我將此添加爲import import'reflect-metadata'; 我正在使用angular2 rc2 我認爲getMetadata有3個參數 –