猿问

vue返回后重置页面数据

在列表页使用vue传值给详情页后,详情页中又增加了新的数据请求vue渲染,但是返回后打开另一个详情页vue数据还在,没有重置,vm数据重置了,但是再次请求的item数据还在,依旧重复使用。

//窗口隐藏时,重置页面数据
            mui.plusReady(function () {
                var self = plus.webview.currentWebview();
                self.addEventListener("hide",function (e) {
                    window.scrollTo(0, 0);
                    vm.resetData();                
                },false);
            });

这是页面vm数据的重置代码,怎么重置item数据呢?

    var news = new Vue({
                el: '#news',
                data: {
                    items: [], //列表信息流数据
                },
            function convert(items) {
                var newItems = [];
                items.forEach(function(item) {
                    newItems.push({
                        id:             item.id,    
                        useride:         item.useride,
                        fukanid:         item.fukanid,                        
                        pingtime:         item.pingime,    
                        avatars:        'http://werd.imwork.net:90/public/'+item.avatars,
                        time:             getDateDiff(item.pingtime),
                        usernames:        item.usernames,    
                        pingcongtent:    item.pingcongtent,
                    });
                
                });
                                
                return newItems;
                
            };

这是新的vue请求数据,请问怎么点击返回后将item的数据也重置呢??

小唯快跑啊
浏览 979回答 2
2回答

慕尼黑5688855

这种没有执行的问题,应该给出完整的引用链.现在这个样子,断在任何地方都会导致没有执行.去jsfiddle写个完整点的例子吧

蛊毒传说

终于解决了,在返回逻辑中加入刷新数据页面(window.location.reload();)即可: //重写返回逻辑 mui.back = function() { plus.webview.currentWebview().hide("auto", 300); window.location.reload(); };
随时随地看视频慕课网APP

相关分类

Java
我要回答