2

我想根据我的范围有一个不同的模板。

目前,我只有一个名为 : 的模板,view-project.html可通过此 url 访问 : #/project/:id

现在,我需要两个模板 :view-project-1.htmlview-project-2.html. 我需要他们保持相同的网址:#/project/:id

例如,如果我的 $scope.template = 1,我想view-project-1.html与这个 url一起使用#/project/300。如果$scope.template = 2我想使用view-project-2.html这个 url #/project/300

有可能这样做吗?

4

2 回答 2

2
app.config(function($routeProvider) {
    $routeProvider
        .when('/project/:id', {
            templateUrl: 'template.html',
            controller: 'projectcontroller'
        })
});

然后在你的控制器中:

app.controller('projectcontroller', function($scope) {
    $scope.template = 2;
});

模板.html:

<div ng-include="template==2?'view-project-2.html':'view-project-1.html'"></div>

演示柱塞

于 2014-07-30T09:49:49.023 回答
1

据我所知,这可以通过以下方式完成:

  1. 使用 ng-include 将两个模板导入到同一个文件中。

  2. 您可以使用 ng-switch 或 ng-if 根据路由参数中的值呈现两个模板之一。

于 2014-07-30T09:29:33.977 回答