1

与えられた

<mytag class="red">
     <mysubtag id="3"></mysubtag>
</mysubtag> 

サブタグは、親タグによって意味が異なる場合があります (mytag または mysupercustomtag の場合があります)。すべての親タグのディレクティブがあります。サブタグにアクセスするにはどうすればよいですか?

mytag のディレクティブのリンク関数で、 、 、 、さらに を使用できることを知っchildren()contents()data()ますelm.find('#someid')。次のようなものがうまくいきますか?それを行う正しい方法は何ですか?ネストされたディレクティブ?

.directive('mytag', function() {
  return {
    restrict: 'A',
    template: '<div></div>',
    replace: true,
    link: function (scope, element, attrs) {
        // get the id of the first child (for example mysubtag)
        var newid = element.children()[0].getAttribute('id');
        // and put it in mytag, so that it is transformed into <div class="red" id="3">..
        attrs.$set('id', newid);
    }
  } 
})
4

1 に答える 1

5

このアプローチは正しくありません。ネストされたディレクティブの場合、親ディレクティブでコントローラーを宣言し、子ディレクティブでrequire属性を使用して親コントローラーにアクセスする必要があります。子親ディレクティブのAngularドキュメントの以下の例を参照してください。以下のリンクは、セットアップに役立ちます

http://angularjs.org/#create-components

于 2013-04-17T11:23:23.990 に答える