我有很多路线:
routes.js
$routeProvider.when(
'/dashboard/one',
{
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl'
});
$routeProvider.when(
'/dashboard/two',
{
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl'
});
我的 dashboard.html 如下所示:
...
<ng-include src="dashboardPath"></ng-include>
...
SRC dashboardPath
取决于路线的位置。例如,当路由为dashboardPath
时,我希望one.html
为/dashboard/one
。如何将src
的{{1}}绑定到路径网址?
答案 0 :(得分:1)
您应该使用ng-view,因为它基于路线:
https://docs.angularjs.org/api/ngRoute/directive/ngView
如果你想跟踪两者,你可以这样做:
$routeProvider.when(
'/dashboard/:type',
{
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl'
});
然后在你的控制器中
function DashboardCtrl($routeParams){
$routeParams.type //'one' or 'two'
}
答案 1 :(得分:1)
根据Mathew的建议,你应该真正使用ng-view。即便如此,让我试着按照你的要求回答它。
首先,如果你尝试
,你将陷入困境<div ng-include src="dashboardPath">
</div>
您应该尝试将url绑定到对象属性而不是基本数据类型。 因此,在init方法中,您可以执行类似的操作。
var path = currentPath;//Retrieve it.
$scope.dashboardPath={};
if(path==='/dashboard/one')
$scope.dashboardPath.url='pageOne.html';
if(path==='/dashboard/two')
$scope.dashboardPath.url='pageTwo.html';
因此。你的HTML代码应该像
<div ng-include src="dashboardPath.url">
</div>