在Angular中如何使用控制器功能更改路径模板?

时间:2015-07-14 10:22:45

标签: angularjs angularjs-routing

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

  1. 获取它的href值(它是当前模板的网址,带有一些额外的参数)
  2. 将带有参数的新网址发送到服务器
  3. 获取新模板(服务器将发送包含新数据的新模板)
  4. 相应地更改视图(更新整个页面)
  5. 我设法完成了第一项任务。第四项任务是真正的问题。使用单击链接时调用的函数更改路径模板(使用ng-click)。我该怎么办?

2 个答案:

答案 0 :(得分:2)

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

  1. 更新当前使用的模板的当前$templateCache;
  2. 重新加载当前路线。
  3. 看起来像这样:

    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

答案 1 :(得分:0)

获取当前模板的网址:

$route.current.templateUrl

您可以尝试直接设置模板值(从不测试)

$route.current.templateUrl = "http://myrul.tld";

您可以在https://docs.angularjs.org/api/ngRoute/service/ $ route

查看文档