Vorrei aggiungere alcuni elementi DOM abilitati per Angular a livello di codice. In realtà, probabilmente avrò bisogno di aggiungere componenti personalizzati. Come posso farlo?Come aggiungere elementi abilitati per Angular al DOM?
Ecco un violino banale per dimostrare il problema: http://jsfiddle.net/ZJSz4/2/
HTML:
<div ng-app="main">
<div ng-controller="MyCtrl">
<button ng-click="add()" >Add</button>
<div id="container">
<div>{{test}}</div>
</div>
</div>
</div>
JS:
angular.module("main", []).controller("MyCtrl", function($scope) {
$scope.add = function() {
$("#container").append("<div>{{test}}</div>");
};
$scope.test = 'Test Message';
});
Solo nel caso, mi aspetto di aggiungere un div che mostra "Test Messaggio "per ogni clic - non {{test}}.
Perché ne ho bisogno? Bene, vorrei avere alcune colonne ordinabili (in jQuery senso ordinabile) con portlet. Immagino che ogni portlet potrebbe essere un componente.
Sono salito sulla collina sbagliata? Qual è il modo angolare per risolvere questo?
EDIT: speravo che questo esempio semplicistico non finisse in quel modo, ma comunque. L'obiettivo finale non è quello di visualizzare un div per ogni elemento in un array.
Quello che voglio veramente è un controller più complesso. Ho bisogno di un portlet con un comportamento interessante. Potrebbe essere necessario decidere di posizionare ciascun portlet in una colonna diversa. Può offrire la modifica del layout e un modo decente di riorganizzare i portlet in tale evento. E così via.
siete andati attraverso il tutorial nella documentazione on-line? dovresti farlo prima Devi lasciare che il tuo modello guidi l'interfaccia utente. se hai bisogno di più "prove", crea una serie di test e aggiungi/rimuovi elementi. la vista si aggiornerà automaticamente. – mpm