我创建了一个使用Twitter引导的角度应用程序。
我想要导航栏中的动态链接(例如ng-href="#/{{course.id}}"
他们从不渲染 - 他们最终像href="#/"
如果我将导航栏放在页面的<div ng-view>
部分内进行渲染,虽然我不想把它放在那里,因为我不想在每个部分上复制它。
基本页面的布局如下:
<html ng-app="studentApp">
<head> links to cdns here</head>
<body>
<div class="container-fluid">
<div class="navbar navbar-inverse navbar-fixed-top">Dynamic bar here</div>
<div ng-view>Partials in here</div>
</div>
</body>
</html>
对于在ng-view部分加载的所有部分,插值按预期发生,但不在导航栏中。
我创建了一个Plunker,而不是试图在这里包含所有内容。 (http://plnkr.co/MK8QEDQUVawkOi92xJXk)。
答案 0 :(得分:6)
一旦开始使用路由,Angular只能在ng-view内部工作。
我在包含页面中只有这个:
// links to cdn, js, css
<body>
<div id="app-container" ng-app="dashboard" ng-view></div>
</body>
所有部分都显示在div内。
所有部分包括最顶部的导航部分:
<div ng-include src="'html/navigation.html'"></div>
navigation.html有自己的控制器:
<div id="nav-bars-container" ng-controller="NavCtrl">
<a href="#/{{course.id}}">Foo</a>
</div>
&安培;因此有自己的范围。其他人可以注入:
function NavCtrl($scope, $route, $routeParams) {
console.log($routeParams);
$scope.course.id = $routeParams.id;
}