我的指令中似乎有一个注入错误,但我不明白我的代码中的错误是什么,该问题中的其他帖子并没有真正帮助我解决这个问题。有人有想法吗?对任何建议感到高兴!感谢!!!
我的index.html
<!DOCTYPE html>
<html>
<head>
<title>Flash Cards</title>
<link rel="stylesheet" type="text/css" href="css/reset.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="angular.min.js"></script>
<script src="js/app.js"></script>
<script src="js/navbar/navbar.js"></script>
<script src="js/home/home.js"></script>
<script src="js/about/about.js"></script>
</head>
<body ng-app="flashCards" >
<navbar></navbar>
hello
</body>
</html>
我的指示:
app.directive('navbar', function ($rootScope, $state) {
return {
restrict: 'E',
scope: {},
templateUrl: 'js/navbar/navbar.html',
link: function (scope) {
scope.items = [
{ label: 'Home', state: 'home' },
{ label: 'Unsere Praxis', state: 'about' },
// { label: 'Leistungen', state: 'docs' },
// { label: 'Sprechstunden', state: 'sprechstunden' },
// { label: 'Kontakt', state: 'kontakt' },
// { label: 'Termin buchen', state: 'book' }
];
}
};
});
navbar html
<nav class="navbar navbar-static-top">
<div class="container">
<div class="navbar-header">
<fullstack-logo></fullstack-logo>
</div>
<ul class="nav navbar-nav">
<li ng-repeat="item in items">
<a ui-sref-active="active" ui-sref="{{ item.state }}">{{ item.label }}</a>
</li>
</ul>
<button ng-show="!user" ui-sref="login" class="btn login-button">Login</button>
<div ng-show="user" class="welcome">
<span>Welcome, {{ user.email }}!</span>
<a >Logout</a>
</div>
</div>
</nav>
答案 0 :(得分:1)
我想如果不亲自尝试就很难肯定,但这有可能:
您使用的$state
是什么:
app.directive('navbar', function ($rootScope, $state) {
这是ui router的$state
吗?
如果是这样,您可能错过了angular-ui-router.js
的链接,例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.0-beta.2/angular-ui-router.js"></script>
另外,请不要忘记确保为应用程序模块添加了依赖项:
angular.module('app', ['ui.router']);