2016-04-29 11 views

答えて

1

あなたはこのコードを試し、サービスやコントローラーを作成する必要はありません。

 <div class="container"> 
      <textarea ng-model="data"> 

      </textarea> 

     </div> 

    <canvas id="myCanvas" txt-img txt-data="data" width="200" height="100" style="border:1px solid #7d0f8b;"></canvas> 



    <script src="app.js"></script> 
</body> 

直接あなたのディレクティブであなたのテキストエリアのcontenuを注入。

app.directive('txtImg', function(){ 
return { 
    restrict: 'AEC', 

    scope:{ 
     data:"=txt-data" 
    }, 
    link: function(scope, el, attr){ 
     var c = el[0]; 
     var ctx = c.getContext("2d"); 
     ctx.font = "15px Arial"; 
     ctx.fillText(scope.data,20,20); 

    } 
} 
}); 

とあなたのコントローラで

app.controller('textCtrl', function($scope){ 
    $scope.data = ""; 
}); 
+0

私は同意しますが、おそらく彼は他の目的のためのサービスも持っています。ディレクティブにサービスを注入することは問題であってはなりません。 –

+0

@hubertあなたの答えをありがとう。私は角度を覚えており、それを練習するためにサービスを使いたいと思っていましたが、他の目的にも使いたいです。 –

+0

あなたの例を変えて、サービスが必要な場所を使いましょう。 – hubert

関連する問題