angularjs - 在 Angular 中如何使用 Controller 功能更改路由模板?

标签 angularjs angularjs-routing

第一次加载网址时,我需要显示初始模板。但点击链接后,我需要

  1. 获取其 href 值(这是带有一些额外参数的当前模板网址)
  2. 将带有参数的新网址发送到服务器
  3. 获取新模板(服务器将发送包含新数据的新模板)
  4. 相应地更改 View (更新整个页面)

我已经成功完成第一个任务了。第四个任务是真正的问题。使用单击链接时调用的函数(使用 ng-click)更改路线的模板。我该怎么做?

最佳答案

为了用新模板替换当前模板,您所需要做的基本上就是两行代码。即:

  1. 更新当前使用的模板的当前$templateCache
  2. 重新加载当前路线。

它可能看起来像这样:

var content = '<h2>New content loaded previously</h2>';
var templateName = $route.current.templateUrl;

$templateCache.put(templateName, content);
$route.reload();

查看简单演示:http://plnkr.co/edit/V5AG0UXS3b8wBwxrz7qO?p=preview

关于angularjs - 在 Angular 中如何使用 Controller 功能更改路由模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31403959/

相关文章:

javascript - Angular - 如何在输入字段中显示与所选 ng-model 不同的所选值?

angularjs - 如何在 AWS S3 上上传多个文件并使用 Angular 将 url 存储到 Firebase?

javascript - 如何使用 $routeProvider 在 Angular 中更改页面标题

angularjs - 与AngularJS中的$ routeChangeSuccess相反

node.js - 使用 node-mysql、NodeJS 和 Q 更新多行

html - 禁用元素的 CSS 选择器

angularjs - 为什么 $log 总是被 angular-mocks 静音?

javascript - AngularJS + 路由 + 解析

angularjs - Angular Router 中具有嵌套状态的后退按钮

javascript - 动态设置 Controller Angular