Je teste actuellement angular bootstrap-UI
localement sur ma machine. Lorsque j'essaie de recréer l'exemple de l'accordéon et de la boîte de dialogue. Ce message d'erreur s'affiche dans ma console et indique que le modèle est manquant.
Exemple d'erreur: 404 introuvable - localhost/angular/template/message.html
Quand je regarde dans ui-bootstrap-0.1.0.js
la directive a un template URL
.
Quel est le but de templateURL
pour la directive?
Ces modèles sont-ils supposés être inclus lorsque je télécharge l’ensemble angular bootstrap-UI
Fichier zip?
Me manque-t-il d'autres fichiers que j'aurais dû inclure dans mon en-tête?
<link rel="stylesheet" href="includes/css/bootstrap.css">
<script src="includes/js/angular.js"></script>
<script src="includes/js/ui-bootstrap-0.1.0.js"></script>
Vous avez deux choix:
Si vous ne souhaitez pas créer vos propres modèles et que vous souhaitez utiliser ceux intégrés, vous devez télécharger le fichier ui-bootstrap-tpls-0.1.0.js
- il injecte tous les modèles de sorte qu'ils soient mis en cache dans votre application: https : //github.com/angular-ui/bootstrap/blob/gh-pages/ui-bootstrap-tpls-0.1.0.js#L1322
Si vous souhaitez créer certains de vos propres modèles, créez un dossier templates
dans votre application, puis téléchargez-les à partir du projet angular-ui/bootstrap. Ensuite, écrasez ceux que vous souhaitez personnaliser.
Lisez plus ici: https://github.com/angular-ui/bootstrap/tree/gh-pages#build-files
éditer :
Vous pouvez également télécharger bootstrap-tpls.js tout en écrasant certains des gabarits de la directive avec le vôtre, en utilisant un décorateur AngularJS pour modifier le gabarit de la directive. Voici un exemple templateUrl de ce changement de datepicker:
http://docs.angularjs.org/api/AUTO.$provide#methods_decorator
myApp.config(function($provide) {
$provide.decorator('datepickerDirective', function($delegate) {
//we now get an array of all the datepickerDirectives,
//and use the first one
$delegate[0].templateUrl = 'my/template/url.html';
return $delegate;
});
});
Mes 5 cents après avoir perdu 2 heures avec ce problème. Vous devriez:
custom.tpls.js
Dans mon cas c'était ui-bootstrap-custom-0.10.0.min.js
'ui.bootstrap.yourfeature'
Dans mon cas, il s’agissait de 'ui.bootstrap.modal'
et incluez également 'ui.bootstrap.tpls'
. Ainsi, mes dépendances complètes de module ressemblent à ceci:
var profile = angular.module("profile",[ 'ui.bootstrap.modal', 'ui.bootstrap.tpls' ]);
Ce message d'erreur semble également se produire dans un autre scénario, comme illustré ici: http://plnkr.co/edit/aix6PZ?p=preview
Si vous déclarez que la dépendance de votre module est uniquement 'ui.bootstrap.dialog' au lieu de 'ui.bootstrap', angular tousse une erreur de modèle introuvable.
Voici une explication officielle du "pourquoi": https://github.com/angular-ui/bootstrap/issues/266
Je faisais face à la même erreur bien que dans mon index.html les deux scripts requis aient été définis. Enfin, j'ai changé l'ordre de chargement en définissant le script i-bootstrap.js à charger en premier et le i-bootstrap-tpls.js comme ça. Cela a résolu le problème. Cependant, plus tard, j'ai remarqué (comme indiqué ci-dessus) qu'une seule lib est nécessaire. J'ai donc supprimé le i-bootstrap.js.
Mon problème était que je continuais d'inclure le template-url dans le HTML, comme ceci:
<div uib-accordion-group class="panel-default" heading="Custom template" template-url="group-template.html">
Cela a provoqué le blocage de mon navigateur - ce qui est étrange, mais c'était comme ça.
En résumé, ce que j'ai fait:
bower install bootstrap --save
bower install angular-bootstrap --save
Dans mon index.html (notez les "-tpls"):
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
Puis dans mon Angular app:
angular
.module('myApp', ['ui.bootstrap'])
Ensuite, supprimez simplement le template-url du HTML:
<div uib-accordion-group class="panel-default" heading="Custom template">
Boom, fonctionne.
La cause probable de ce problème est la réponse acceptée, mais une autre cause possible de ce problème est quelque chose que j'ai rencontré et que je voulais publier au cas où quelqu'un d'autre rencontrerait la même cause secondaire du problème.
Les symptômes étaient exactement les mêmes, 404 sur les modèles bootstrap mais dans mon cas, j’ai inclus le fichier javascript 'ui-bootstrap-tpls.min.js'. Le problème est que j’ai également inclus la version non-template, 'ui-bootstrap.min.js'. Une fois les deux incluses, et je suppose que l'ordre était important, l'une déplacerait l'autre. Dans mon cas, la version non-template a déplacé la version basée sur un modèle, causant les problèmes 404 .
Une fois, je me suis assuré d'inclure UNIQUEMENT les 'ui-bootstrap-tpls.min.js' qui ont fonctionné comme prévu.
Je dois dire en lisant les commentaires et en ajoutant mon expérience de 10 heures hier soir. Évitez l'interface utilisateur Bootstrap il semble beaucoup plus d'effort que sa valeur.
En outre, après avoir lu toutes les questions relatives aux pensions et leurs commentaires, la manière dont le projet a été mené semble être en contradiction avec un outil simple et facile à utiliser. Bien que je sois sûr que cela ait commencé avec les meilleures intentions du monde, il s’agit peut-être d’un module à éviter dans la mesure du possible.
Bien sûr, il y a la mise en garde qui est un avis, peut-être que nous verrons si les autres ressentent la même chose.