Javascript 将ng include的URL绑定到特定路由
我有许多这样的路线: routes.jsJavascript 将ng include的URL绑定到特定路由,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有许多这样的路线: routes.js $routeProvider.when( '/dashboard/one', { templateUrl: 'partials/dashboard.html', controller: 'DashboardCtrl' }); $routeProvider.when( '/dashboard/two', { templateUrl: 'partials/dashboard.html', contr
$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>
...
$routeProvider.when(
'/dashboard/:type',
{
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl'
});
。。。
...
其中SRC
仪表板路径取决于路线。例如,当路由为/dashboard/one
时,我希望dashboardPath
为one.html
。如何将ng include
的src
绑定到路由url?您应该使用ng视图,因为它基于路由:
如果您想跟踪这两种情况,可以执行以下操作:
...
<ng-include src="dashboardPath"></ng-include>
...
$routeProvider.when(
'/dashboard/:type',
{
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl'
});
然后在你的控制器里
function DashboardCtrl($routeParams){
$routeParams.type //'one' or 'two'
}
正如Mathew所建议的,您应该真正使用ng视图。即使如此,让我试着按照你的要求回答
首先,如果你尝试,你会遇到麻烦
<div ng-include src="dashboardPath">
</div>
所以。你的html代码应该是
<div ng-include src="dashboardPath.url">
</div>
我无法使用ng view,我已经在使用它在/dashboard/
和/auth/
之间进行路由。我以为你不能使用多个ng视图s当我尝试这样做时,我得到了“引用错误,仪表板路径未定义”。尝试排除故障…好吧,请确保执行类似$scope.dashboardPath={};首先,对不起。再查一遍。我忘记在仪表板路径之前使用$scope。现在,它应该可以工作了。酷,现在我正在排除一些其他错误。。。正在获取“应用程序已使用此元素引导”。谢谢你的帮助!