AngularJS – $route.reload() 不工作

Posted

技术标签:

【中文标题】AngularJS – $route.reload() 不工作【英文标题】:AngularJS – $route.reload() not working 【发布时间】:2014-07-22 07:46:28 【问题描述】:

我正在尝试使用$route.reload() 重新加载页面:

var App = angular.module("App", ["ngRoute"]);  
var idx = 0;  

App.controller("List", function ($scope, $route) 
    $scope.changeWallet = function (index) 
        idx = index;
        $route.reload();
        console.log("success");
    ;

"success" 显示在控制台中,但没有任何反应。 我怎样才能解决这个问题?

【问题讨论】:

你在使用 ui-router 吗? 所以你只想刷新模板吗? 先从缓存中删除模板,然后尝试重新加载模板。添加这个“var currentPageTemplate = $route.current.templateUrl; $templateCache.remove(currentPageTemplate);”在重新加载函数调用之前。 我收到了undefined is not an object (evaluating '$route.current.templateUrl') 我不相信这与模板缓存有任何关系。 @supertrall 您要重新加载视图部分还是完整页面? 【参考方案1】:

$window.location.reload() 基本上会刷新页面,就像您按 F5 进行刷新一样。

我所追求的是重新加载页面中的特定视图,而不是刷新整个页面。

【讨论】:

【参考方案2】:

如果您想重新加载完整页面而不是路由刷新,请注入 $window 服务并调用 location.refresh

$window.location.reload();

【讨论】:

那会刷新所有页面,比如F5,对异步页面没用。

以上是关于AngularJS – $route.reload() 不工作的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS学习之旅—AngularJS 服务

初识AngularJS

AngularJs初识

[angularjs] angularjs系列笔记简介

[angularjs] angularjs系列笔记事件

AngularJS