0

実際にリンク関数にドロップせずに要素のテキストにバインドすることは可能ですか?

<blink>Text Here or {{ controllerText() }}</blink>

// add a namespace for custom directives
angular.module('mydirectives', []);

angular.module('mydirectives').directive('blink', function() {
   return {
      restrict: 'E',
      template: '<marquee scrollamount="100%">{{ can i do it here? }} </marquee>',
      scope: {
         // can i do it here?
      }
   };
});
4

2 に答える 2

2

あなたは絶対にできます。

scope: {
    text: '='
}

これにより、要素から属性textの値にリンクされている分離スコープに属性が追加されます。text

したがって、html を次のように少し変更する必要があります。

<blink text="fromController"></blink>

そして、そのfromController属性を囲んでいるコントローラーに追加します。

これは(非常に迷惑な) fiddleです。

于 2013-02-14T21:59:37.093 に答える
2

したがって、これは、元の要素のコンテンツをテンプレートとマージするトランスクルージョンで行われます。テンプレートを機能させるには、テンプレートの ng-transclude タグが必要です。

<blink>Bring the blink back<blink>

// add a namespace for custom directives
angular.module('mydirectives', []);

angular.module('mydirectives').directive('blink', function() {
    return {
      restrict: 'E',
      transclude: true,
      template: '<marquee scrollamount="100%" ng-transclude></marquee>'
   }
});
于 2013-02-14T21:58:38.890 に答える