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

AngularJS:位置更改后刷新视图

况喜
2023-03-14

我有一个具有2个视图\控制器的应用程序:

app.config(function ($routeProvider, $locationProvider)
{
    $routeProvider
    .when("/", {
        templateUrl: "/vw/managment",
        controller: 'managment-ctrl'
    })
    .when("/add", {
        templateUrl: "/vw/add",
        contoller: 'add-ctrl'
    })
    .otherwise({
        controller: function ()
        {
            window.location.replace('/errors/filenotfound');
        },
        template: "<div></div>"
    });

    $locationProvider.html5Mode(true);
});
$scope.save = function()
{
    // Save login...
    $location.path("/");
};

谢谢你。

共有1个答案

洪越泽
2023-03-14

为save()函数提供完整的代码,这将帮助我们找出问题。我认为问题是由于在更改路由状态时,为保存数据而调用的异步调用仍在进行中。因此,您可以将位置更改调用包装在异步rest调用的回调函数中。

您应该执行以下操作:

$http.get("url to save").then(function success(result) {
 //your logic after save
 $location.path("/"); 
});
 类似资料:
  • 我尝试使用localStorage保存输入元素的位置。我保存了输入元素的位置,在重新加载页面后,我可以访问它,但在刷新页面后,它始终处于默认位置。(值真/假) HTML: JS: 明确地说,我正在创建chrome扩展(选项页)。 编辑:

  • 问题内容: 我试图弄清楚Angular的工作原理,并在模型更改时无法更新视图。 的HTML JS http://jsfiddle.net/N2G7z/ 有任何想法吗? 问题答案: 正如上面提到的Ajay beniwal一样,您需要使用Apply来开始消化。

  • 问题内容: 每当我在.hmtl文件或.js文件中进行代码更改时,浏览器仍会呈现旧代码,而我的新代码更改不会显示在浏览器结果中。 例如,我在.html文件中添加了以下两行代码。 然后,我执行以下操作: 在VS2013中,右键单击我的项目,然后在浏览器(IE或Chrome)中查看。 登录到我的应用程序。 转到相应的页面,我看到了旧的html文件的呈现。我完全看不到新添加的2 div元素。 我什至按下f

  • 我需要从文件中删除封面 调试时,元素已正确删除,但输出封面上的元素仍在此处。 有没有更新/刷新文档xml的方法,即使更改是从低级别发生的,我们如何刷新文档以保持更新

  • 在应用程序启动时,我试图使用以下代码通过查看加载更改单独视图的位置: 但是,这似乎无法直接在viewDidLoad中工作。如果我使用iAction将to指定给按钮,代码就会工作 我猜我这里遗漏了什么,但我不知道是什么。

  • 问题内容: 我正在尝试使用bootstrapscollspy突出显示由角度中继器生成的列表项。 我遇到的问题是,我在Angle将模型更改应用到视图之前,正在从angular控制器刷新scrollspy插件。 确保DOM本身已更新(不仅仅是角度模型)之后,确保scrollspy(’refresh’)调用发生的角度方法是什么? 模板: 控制器: 问题答案: 我如何使用Blesh的答案解决此问题 模板: