2017-05-27 12 views
0

私は以下のようなディレクティブ、HTMLからの指令を呼び出す方法

.directive('lbd', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      context: '=', 
      dui: '=' 
     }, 
    } 
}); 

呼び出すテンプレート、私はのように私のコントローラあちこちIDを与えている

 <lbd class="col-xs-12 lbd" context="disease-description" dui="id"></lbd> 

を、持っている

$scope.id = "222"; 

しかし、指示はレンダリングされません。私は解決策を見つけることができません。誰でも私を助けてください。ありがとう。

+1

次の要素directive' 'としてディレクティブを定義したが、それをテンプレートを与えていません。 – Pengyy

答えて

1

directiveに間違いがあると思います。 scope体の後に,を削除してください。 およびdisease-descriptionは、$scope.idのように、=の範囲にする必要があります。 しかし、disease-descriptionstringと同じだと思うので、contextタイプを@に変更してください。

.directive('lbd', function() { 
    return { 
    restrict: 'E', 
    scope: { 
     context: '@', 
     dui: '=' 
    } 
} 
}); 

var app = angular.module('anApp', []); 
 
app.controller('ctrl', function($scope) { 
 
$scope.id = "222"; 
 
}); 
 
app.directive('lbd', function() { 
 
    return { 
 
     restrict: 'E', 
 
     scope: { 
 
      context: '@', 
 
      dui: '=' 
 
     }, 
 
     template:"<p>{{dui}},{{context}}</p>" 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js"></script> 
 

 
<div ng-app="anApp" ng-controller="ctrl"> 
 
<lbd class="col-xs-12 lbd" context="disease-description" dui="id"></lbd> 
 
</div>

+0

こんにちはハディ、あなたのコードは大きく働いて、私は私の指示に達していますが、テンプレートは表示されません。 – MMR

+0

それは私のCSSの問題です。ハディに感謝します。 – MMR

関連する問題