2017-06-29 8 views
2

ngのリピート内のディレクティブ内の$の親は私のディレクティブここ。私はカスタマイズされたディレクティブここ</p> <p>を構築しています

angular.module('app') 
.directive("pdf", function() { 
    return { 
    restrict: 'E', 
    scope: { 
     page: '=', 
     pdfDoc: '=' 
    }, 
    link : function(scope, element, attributes, vm){ 
     console.log(scope.$parent.pdfDoc) 
     scope.page.doc = scope.$parent.pdfDoc; 
     console.log(scope); 

     vm.renderPage(scope.page.doc, scope.page.id, scope.page.num, scope.page.rotation); 

    }, 
    templateUrl: 'components/pdfViewer/views/pdfViewer.directive.html', 
    controller: pdfViewerController, 
    controllerAs: 'vm', 
    } 
}); 

である私の親コントローラのhtmlがある

<div class="thumbnail vthumbnail" ng-repeat="page in pages" data-drop="true" data-drag="true" ng-model="pages" jqyoui-droppable="{index: {{$index}}}" jqyoui-draggable="{index: {{$index}}, insertInline: true, direction:'jqyouiDirection'}" data-jqyoui-options="{revert: 'invalid'}" data-direction="{{page.jqyouiDirection}}" ng-init="doc = pdfDoc"> 

<pdf page="page" pdfDoc="doc"></pdf> 
</div> 

私の質問は、親コントローラの範囲にあるpdfDocをpdf指令に割り当てる方法です。 ng-repeatが独自のスコープを作成したようです。私は、NG-INIT =「DOC = pdfDoc」を試してみましたが、私は

<pdf page="page" pdfDoc="doc"></pdf>. 

で、私は今、ディレクティブ内のスコープ。$の親を使用しているが出ている唯一の解決策をドキュメントにアクセスすることはできません。しかし、私がpdfモジューラ指令を作成したいのであれば、それはクリーンな解決策ではありません。

親コントローラのscope.variableをng-repeat内のディレクティブに渡す方法を知っていますか?

答えて

1

角度は、あなたの偉大なアドバイスをありがとう蛇のケーシングにcamelCasing形式を変換し、そのDOM

<pdf page="page" pdf-doc="doc"></pdf>. 
+0

pdf-docpdfDocの名前を変更します! –

関連する問題

 関連する問題