Ho avuto questa direttiva in angularJS Sono in grado di passare un attributo di classe a un modello di direttiva in angularJS?
productApp.directive('notification', function($timeout) {
return {
restrict : 'E',
replace : true,
scope : {
type: "@",
message: "@"
},
template : '<alert class="alert alert-type">message</alert>',
link : function(scope, element, attrs) {
$timeout(function() {
element.hide();
}, 3000);
}
}
});
così posso chiamarlo dalla vista in questo modo:
<notification type="alert.type" message="alert.msg"></notification>
Nel controllore ho ottenuto l'oggetto avviso definito:
$scope.alert = { type : 'success', msg : 'This is a test'};
Come sono in grado di passare il tipo in modo dinamico? provato e non ha funzionato. Se passo il successo di allerta alla direttiva, funziona, ma voglio che sia dinamico.
Sono in grado di passarlo dinamicamente facendo ciò?
Grazie
Grazie ha funzionato! :) – msqar
Puoi anche usare '&' per creare un legame unidirezionale, dal momento che ' = 'è bidirezionale. Basta cambiare '=' a '&', e il modello per contenere '{{type()}}' e '{{message()}}'. Ciò è utile se si desidera impedire modifiche all'ambito principale o si desidera essere in grado di fornire alla direttiva funzioni aggiuntive ai valori. – HackedByChinese