在Framework7中调用app.router.navigate()时如何传递内容?

时间:2018-09-17 22:01:53

标签: frameworks html-framework-7

这是动态页面路由:

viewDidAppear

我这样调用动态页面:

{
         path: '/news/',
         name:'news',
         content: '<div class="page newPage"><div class="page-content"><div class="block"><p> This page created dynamically</p></div></div></div>',

         }

我的问题是如何通过传递一些参数来更改该页面的内容,例如:

app.router.navigate({name:'news'});

2 个答案:

答案 0 :(得分:0)

页面的内容通过以下路径传递:

routes = [
    {
       path: '/news/:id/:content',
       url: 'somepage.html'
    }
]

因此,当您将参数发送到路由时,您只会像这样:

var id = parseInt(someNewsID);
var  content = 'Lorem ipsum ...........';
app.mainView.router.navigate('/news/' + id + '/' + content);

确保按路径中的斜线分隔变量

检索值将非常简单:

var myID = app.mainView.router.currentRoute.params.id;
var myContent = app.mainView.router.currentRoute.params.content;

然后您可以使用JavaScript或JQuery操纵dom来加载值并使用它们

答案 1 :(得分:0)

尝试在导航之前将您的内容或任何变量附加到(params)

app.router.params["PageMode"] = "new";
app.views.main.router.navigate({name:'newbill'}); 

然后您可以在页面初始化时收到它

  $(document).on('page:init', '.page[data-name="newbill"]', function (page) {

  console.log(app.router.params.PageMode); 

   });