1

私はこのようなディレクティブを持っています: ここで同等のプランカーを見ることができますhttp://plnkr.co/edit/0e2nMyatAMD3M3QTCtls

app.directive('bpTest', function() {
  return {
    restrict: 'A',
    templateUrl: 'directiveTemplate.html',
    scope: {
      bpType: '@'
    },
    link: function($scope, $elem, $attrs) {
      console.log($scope, $elem, $attrs);
      $scope.bpType = $scope.bpType || 'text';
    }  // link function
  };
});

directiveTemplate.html で:

<div>
  {{ bpType }}
</div>

index.html で:

<div bp-test bp-type="text"></div>  <!-- results in <div>text</div> -->
<div bp-test bp-type="number"></div>  <!-- results in <div>number</div> -->
<div bp-test></div>  <!-- results in <div></div> ????? -->

初期化したので$scope.bpType = $scope.bpType || 'text'、3 番目のディレクティブ<div bp-test></div>が表示される<div>text</div>ことを期待していますが、吐き出すだけ<div></div>です。

私は何を誤解していますか/間違っていますか?

ありがとう!

4

2 に答える 2