2016-04-15 1 views
2

を受け取る:https://github.com/summernote/angular-summernote角度指令、HOWTOは、私はここから、ディレクティブとして、angularizedバージョンとしてsummernoteエディタを使用するパラメータ(summerNoteエディタ)

これを実行する場合:

<summernote config='options'></summernote> 
.... 
controllerfn = function() { 
    var vm = this; 
    vm.options = { 
     height: 300 
    } 
} 

すべての作品を結構。これが動作しない理由を

angular 
    .module('common') 
     .directive('textArea', textAreaFn); 

textAreaFn.$inject = [ '$compile' ]; 

function textAreaFn($compile) { 
    return { 
     require: "?ngModel", 
     scope: { 
     }, 
     template: "<summernote config='options'></summernote>", 
     link: function(scope, element, attrs, ngModel) { 
      scope.options = { 
       height: 300 
      }; 
      $compile(element.contents())(scope) 


     } 
    }; 
} 

誰もが知っています:ディレクティブの内側にこのアプローチを使用している場合、それはしません

?そしてそれを解決する方法は?どうもありがとう!

+0

正確には機能しません。 –

+0

Summernoteエディタはここで設定された高さなど、私が提供するオプションを処理しません。 – chrney

答えて

1

角度のあるドキュメントには少し埋まっていますが、リンク機能の前後には概念があります。 https://docs.angularjs.org/api/ng/service/$compile#pre-linking-function

子要素がリンクされる前に、プレリンク機能のコードが実行されます。

angular 
    .module('common') 
     .directive('textArea', textAreaFn); 

textAreaFn.$inject = [ '$compile' ]; 

function textAreaFn($compile) { 
    return { 
     require: "?ngModel", 
     scope: { 
     }, 
     template: "<summernote config='options'></summernote>", 
     link: { 
      pre: function(scope, element, attrs, ngModel) { 
      scope.options = { 
       height: 300 
      }; 
      }, 
      post: function(scope, element, attrs, ngModel) { 
      // code you want to run after all child elements have been linked 
      } 
     } 
    }; 
} 
関連する問題