2015-09-28 56 views
2

你好,我是新手到onsenUI和角js,我发现一个函数“pushpage”导航到另一个页面,但我已经搜索了两天以来如何传递一个值到另一个网页,请帮我找出这个,因为我在这浪费2天.. :(我的代码是如何使用onsen UI将值传递给另一页UI

     Content = 
           '<ons-button onclick=gallery.pushPage("dishes.html");>' 
    +data['Details'][i]['varName'] + data['Details'][i]['intGlCode'] +'<br>'+ 
    '</ons-button>'; 
        } 

回答

3

您可以在pushPage调用的选项参数中传递一个值。像这样:

nav.pushPage('page.html', {value: 10}); 

然后,您可以通过做检索值:

console.log(nav.getCurrentPage().options.value); 

,如果你正在使用AngularJS或您的应用一些其他的框架是不是从你的问题不清楚。如果您使用的是AngularJS,您可以获取推送页面的控制器中的值。

您有一个模板或页面是这样的:

<ons-template id="page.html"> 
    <ons-page ng-controller="PageController"> 
    ... 
    </ons-page> 
</ons-template> 

而在你的控制器,你可以这样做:

module.controller('PageController', function($scope) { 
    console.log($scope.nav.getCurrentPage().options); 
}); 

如果你不使用AngularJS即可获得价值等待'pageinit'事件。我将使用jQuery为例:

HTML:

<ons-page id="page"> 
    ... 
</ons-page> 

的JavaScript:

$(document).on('pageinit', '#page', function() { 
    // Do something. 
}); 
+0

您好感谢这么多的帮助,是的,我用我的应用程序的角度JS,一个问题是只有一个“ons-navigator”需要传递这个值,它应该在“index.html”页面或所有需要的“ons-navigator”页面中? –

+1

是的,通常你只需要一个导航器为你的应用程序,在一些罕见的情况下,如果你的应用程序非常复杂,你可能需要更多。 –

+0

因此,先生,在将“ons-navogator”放入index.html并从所有其他页面中删除后,它会触发一个错误“无法从ons-page元素获取PageView”,那么您能告诉我为什么会发生这种情况吗? –

0

你可以在一个单页应用程序中使用全局变量一样!

相关问题