0
我想從控制器中的DOM獲取元素的id,並根據id將顯示相應的表單。在角度上獲取並傳遞DOM元素的id
我可以很容易地爲每個ID製作兩個單獨的視圖,但這只是骯髒的方式。
<a id="transcript" href="#/pdfView" ng-click="showId($event)" data="transcript">--><img src="assets/images/graduation22.png" id="view-transcript"></a>
我已經使用$scope
獲取和返回使用NG-點擊指令控制器內部的元素ID嘗試。
$scope.ShowId = function(event)
{
if(event.target.id == 'transcript'){
$scope.url = 'assets/documents/binder1.pdf';
}
else{
$scope.url = 'assets/documents/KeilCarpenterCV.pdf';
}
};
然後 'URL' 的值發送到NG-SRC ATTR的指令模板:
<pdfviewer ng-src="{{url}}" on-page-load='pageLoaded(page,total)' id="viewer"></pdfviewer>
但什麼都不做。
正如我上面提到的,我可以爲每個文檔分別創建兩個視圖,但這只是聽起來像rediculas。
那麼什麼是最好的方式來獲得和傳遞id的角?
你的範圍函數是'ShowId'(大寫字母「S」),但你'NG-click'指令試圖執行'showId' (小寫「s」)。 – Phil
也可以嘗試做一個$ scope。$ apply()函數的末尾 –
我也建議直接將參數傳遞給'ShowId'。例如'ng-click =「ShowId(true)」'並使用'$ scope.ShowId = function(isTranscript){$ scope.url = isTranscript? '... binder1.pdf':'... KeilCarpenterCV.pdf'; }' – Phil