Ich fange gerade an, die angularjs zu lernen, und ich möchte es zum Erstellen einer UI-Vorlage verwenden. Ich möchte eine statische HEADER und FOOTER machen und das einzige, was dynamisch sein wird, ist die CONTENT. Mein Problem ist, dass es mir eine leere Webseite zurückgibt.AngularJS + Angular UI-Router: templateUrl return Leere Seite
Vielen Dank im Voraus Jungs.
index.html
<!DOCTYPE html>
<html data-ng-app="app">
<head>
\t <meta charset="utf-8">
\t <title>UI-Router</title>
\t <link rel="stylesheet" href="">
\t <!-- START LOAD VENDORS -->
\t <script src="js/jquery/jquery.min.js"></script>
\t <script src="js/angular/angular.min.js"></script>
\t <script src="js/angular/angular-ui-router.min.js"></script>
\t <!-- END LOAD VENDORS -->
\t <!-- START LOAD SOURCE CODE -->
\t <script src="js/app.js"></script>
\t <!-- END LOAD SOURCE CODE -->
</head>
<body ui-view>
</body>
</html>
app.js
var app = angular.module('app', ['ui.router'])
app.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
\t
\t \t $urlRouterProvider.otherwise('/');
\t \t $stateProvider
\t \t \t .state('index',{
\t \t \t \t abstract: true,
\t \t \t \t url: '/index',
\t \t \t \t templateUrl: 'view/app.html'
\t \t \t })
\t }])
view/header.html
<ul>
\t <li>US</li>
\t <li>626.205.3838</li>
\t <li>[email protected]</li>
\t <li>Search</li>
</ul>
<ul>
\t <li>Facebook</li>
\t <li>Twitter</li>
\t <li>Instagram</li>
\t <li>LinkedIn</li>
</ul>
view/footer.html
<div>
\t <span>name here</span>
\t <span>partner</span>
\t <span>subscribe</span>
\t <ul>
\t \t <h3>get to know us</h3>
\t \t <li>blog</li>
\t \t <li>stories</li>
\t \t <li>staff</li>
\t </ul>
\t <ul>
\t \t <h3>connect</h3>
\t \t <li>contact</li>
\t \t <li>help</li>
\t \t <li>request</li>
\t </ul>
\t <ul>
\t \t <h3>resource</h3>
\t \t <li>download</li>
\t \t <li>financial</li>
\t \t <li>donors</li>
\t </ul>
\t <ul>
\t \t <h3>get involved</h3>
\t \t <li>volunteer</li>
\t \t <li>partnership</li>
\t \t <li>donate</li>
\t </ul>
</div>
view/app.html
\t <div data-ng-include=" 'view/header.html' "></div>
\t <div data-ng-include=" 'view/footer.html' "></div>
Dank @Karim, das ist wirklich Arbeit. Ich versuche auch, ** views: {'': {templateUrl: 'view/app.html'}} ** innerhalb von $ stateProvider als -mohit sagte. und es funktioniert auch. Wenn es dir gut geht, kannst du mir eine weitere Erklärung geben? – angelo
Das ist ein anderer Ansatz, Sie haben mehrere Ansichten, die an denselben Status gebunden sind, und Ihre app.html enthält nur die Logik Ihrer Anwendung. mehr Infos hier: https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views – Karim
Danke @Karim das war eine große Hilfe. – angelo