2016-04-20 9 views
-1

Ich habe diese Richtlinie, die ich in meinem html nennen wieAnfahrtsweg Childs Tags AngularJS

<my-datepicker /> 

was will ich jetzt tun, ist es zu verbrauchen, so dass ich so etwas wie dieses

<my-datepicker > 
    <my-day>{{date}}</my-day> 
    <my-month>{{moth}}</my-month> 
    <my-year>{{year}}</my-year> 
</my-datepicker> 
tun können

in my-datepicker Direktive kann die Kind-Elemente erhalten.

Wie können Sie das tun? tun müssen, um die Childs wie standanlone Richtlinie zu machen, ein, wie können Sie den Wert von ihnen in der übergeordneten (my-picker) Richtlinie

Antwort

0

Sie übergeordnete Richtlinie erhalten Controller wie folgt zugreifen können: In

app.directive('myDay', function() { 
    return { 
     restrict: 'E', 
     require: '^myDatepicker', 
     link: function (scope, element, attrs, parentCtrl) { 
      parentCtrl.doSomething(); 
     } 
    }; 
}); 

Übergeordnete:

+0

Ich denke, es ist, was ich suche. Ich melde mich wieder, nachdem ich es ausprobiert habe. Danke – DaCh

0

Ich denke, der beste Weg, um Ihre Richtlinie zu erweitern ist durch die Übergabe von Parametern (Datum Monat ec ...) als Attribute.

Ihre html sollte wie dieses

<my-datepicker day="day" month="month" year="year"/> 

In Ihrer Richtlinie somethig sein sollten Sie, indem er erklärt sie im Rahmen dieser Variablen abgerufen werden können.

function myDatepicker() { 
var directive = { 
    templateUrl: 'yourtemplate.html', 
    restrict: 'E', 
    link: link, 
    scope: { 
     date: '=', 
     month: '=', 
     year: '=' 
    } 
} 

return directive; 

function link(scope, element, attrs) { 
    // use here scope.date scope.month and scope.year 
} 

};

+0

Danke für die Antwort. Ich verstehe, warum du das denkst. aber der grund, warum ich es anders machen möchte, ist, weil ich einige html rendering und styling dieser tags machen werde – DaCh

Verwandte Themen