当前位置: 首页 > 知识库问答 >
问题:

AngularJS-部分和模板的嵌套不工作

朱睿
2023-03-14

我试图实施ProLoser在我的Plunk链接中提供的解决方案。我的问题是,每当我按下链接而不是打开链接下方的子视图时,它就会覆盖整个视图。

我需要明白如何解决这个问题。

我的流程是这样的:index。html-

我的布局:

指数html:

<!DOCTYPE html>
<html ng-app="webApp">
  <head>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.0.7" data-semver="1.0.7" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
    <script src="app.js"></script>
  </head>

  <body>
    <header>This is header</Header>        
    <div class="content" ng-view>

    </div>
  </body>

</html>

所容纳之物html:

<div>
  <h1>This is Content brought to you by ngView</h1>
  <br>
  <a href="#/sub/link1">link1</a>
  <a href="#/sub/link2">link 2</a>
  <a href="#/sub/link3">link 3</a>

  <ng-include src="'/sub/'+link + '.html' "></ng-include>

</div>

我的代码:

var webApp = angular.module('webApp', []);

//router logic
webApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/', {
            templateUrl: 'content.html',
            controller: 'MainCtrl'
        })
        .when('/sub/:link', {
            controller: 'LinkCtrl'
        })
        .otherwise({redirectTo: '/'});
}]);

//controllers
webApp.controller ('MainCtrl', function ($scope, $routeParams) {
    $scope.link = $routeParams.link
});

共有1个答案

苏华藏
2023-03-14

您没有LinkCtrl来处理链接,如果您更改以下内容,它应该可以工作:

.when('/sub/:link', {
        controller: 'LinkCtrl'
    })

.when('/sub/:link', {
        templateUrl: 'content.html',
        controller: 'MainCtrl'
    })

并编辑该行:

<ng-include src="'/sub/'+link + '.html' "></ng-include>

致:

<ng-include src="link + '.html'"></ng-include>
 类似资料:
  • 问题内容: 我在主布局文件中有这个 我的目录结构中有header.html部分模板。 如何在我的应用程序中包含此模板?我认为angular在处理完控制器后会自动包含模板,但是它不起作用。 标头节点应替换为此文件的内容。 问题答案: 包含来自外部文件的模板/ html片段的一种方法是使用指令(doc)。 要么

  • 我正在实现一个前端使用AngularJS,后端使用Grails的项目。 角度 JS = 这是我设置项目的方式: 与其使用Resources Plugin,我更喜欢使用Grunt构建自己的前端,然后我只链接布局本身内的最终文件。 我在web应用程序中构建了<code>js 这是我用来加载视图的非常标准的角度代码: 发生的情况是Angular无法获取这些部分模板,因为部分文件夹没有复制到tomcat<

  • 问题内容: 我的问题涉及到如何处理AngularJS应用程序中模板的复杂嵌套(也称为partials)。 如您所见,这有可能成为具有许多嵌套模型的相当复杂的应用程序。 该应用程序是单页的,因此它将加载index.html,该索引包含DOM中具有ng-view属性的div元素。 对于第1圈,您看到有一个主导航将相应的模板加载到中ng-view。我通过传递$routeParams给主应用程序模块来实现

  • 短版 使用Spring时,如何在Thymeleaf中创建嵌套模板?Spring中的属性中似乎不支持星号符号()。是否有变通/不同的标签可供使用? 长版本 例如,假设我有以下课程: 所以我做了一个Thymeleaf模板: 我们用一个样本

  • 本教程上接 教程 第2部分 。我们将继续 开发 Web-poll 应用并且专注在创建公共界面 – “视图 (views )”。 哲理 在 Django 应用程序中,视图是一“类”具有特定功能和模板的网页。 例如,在一个博客应用程序中,你可能会有以下视图: 博客首页 – 显示最新发表的博客。 博客详细页面 – 一篇博客的独立页面。 基于年份的归档页 – 显示给定年份中发表博客的所有月份。 基于月份的

  • 问题内容: 可以定义从facelets中的其他模板继承的模板吗? 像这样 然后viewUsers.xhtml将被浏览器调用 问题答案: 是的,绝对有可能。