Posso usare $ templateCache nel modello del router?
Il modello verrà memorizzato nella cache nella sezione di risoluzione e voglio utilizzare il modello memorizzato nella cache nello stesso stato.
$stateProvider
.state('dashboard', {
url: "/dashboard",
template: function($templateCache){
console.log('test 2');
return $templateCache.get('templates/template1.html'); // returns undefined
},
resolve:{
baseTemplates: function($ocLazyLoad) {
// here the template will be cached...
return $ocLazyLoad.loadTemplateFile(['base/dashboard.html']).then(function(){
console.log('test 1');
});
}
}
})
// console prints "test 2" before than "test 1"
Update: (+ codice aggiornato)
penso sezione risolutezza del mio codice ha un problema. perché viene eseguito dopo la sezione del modello! e causa la restituzione di $ templateCache.get non definito.
Uso il plug-in ocLazyLoad per memorizzare il modello nella cache e restituisce una promessa corretta.
Perché il modello non attende la risoluzione?
Quale errore state ottenendo? Solo una supposizione, ma potresti dover usare '$ templateCacheProvider', dal momento che stai definendo i percorsi nel module.config() - [providers] (https://docs.angularjs.org/guide/providers) – Benmj
Sorry .È stato un errore. l'errore proveniva da un'altra sezione. ma il problema principale è ancora lì. –