Newbie angolare qui. Sto cercando di capire il paradigma da utilizzare durante lo sviluppo di un'app Angular in modo da poter utilizzare le librerie esterne mantenendo l'app Angular riutilizzabile.Paradigma corretto per la miscelazione del codice angolare con codice esterno
quindi immaginare ho un form
che utilizza ng-conferma:
<form ng-submit="submit()">...<!--code goes here --></form>
E poi all'interno del corrispondente ng-app
e ng-controller
(assumere quelli sono dichiarati in un elemento padre), ho ottenuto il mio submit
funzione. Ma dicono che, in questa pagina soltanto, voglio usare una libreria avviso personalizzato dopo la presentazione:
$scope.submit = function(){
// code goes here to submit form data
//now tell the user that save was successful
customAlertLibrary.alert("your data has been saved")
}
Ora che non è codice riutilizzabile, è vero? Potrei voler riutilizzare questo ng-app
su un'altra pagina per modificare e inviare dati, ma non voglio usare la libreria di avvisi personalizzata. Sembra che tu sia intrappolato perché l'attributo ng-submit
ti limita a funzioni all'interno del corrispondente ng-app
, non a funzioni esterne. Allora, qual è il modo corretto di invocare un altro codice Javascript insieme al mio codice angolare senza inserirlo nel modello?
Ah, ok. Sono nuovo di Angular. Come faccio ad aggiungere localmente (voglio aggiungere un metodo) all'ambito, solo per una pagina specifica senza modificare il template globale riutilizzabile? L'esempio che fornisci qui da 'lodash' è per l'aggiunta all'ambito globale, corretto? –
Sì, questo è globale. Sono sicuro che sei già a conoscenza di come assegnare cose al tuo ambito. Mi piace: '$ scope._ = _;' ... – Domi
Lo sono, ma so solo come accedere alla variabile '$ scope' all'interno di app.controller (" myController ", function ($ scope) {... $ scope.attribute = ...} '. Non è lo script globale che verrà importato ovunque viene utilizzato questo modello angolare? Forse non ho ancora completamente familiarità con il paradigma Angular. –