Onsen UI 2.0 Splitter 和 pushPage 不能一起工作
Onsen UI 2.0 Splitter and pushPage not works together
我制作了一个主选项卡 (tab1.html),您可以在其中更改选项或转到设置...现在我希望您可以单击主选项卡上的按钮 (tab1.html) 来另一个 (tab4.html)。问题是它不能同时工作,所以菜单(拆分器)和 pushpage 功能;/如何解决?菜单的拆分器:
<ons-splitter>
<ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
<ons-page>
<ons-list>
<ons-list-item onclick="fn.load('tab1.html')" tappable>
<ons-icon icon="home" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Startseite</p>
</ons-list-item>
<ons-list-item onclick="fn.load('tab6.html')" tappable>
<ons-icon icon="user" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Mein Profil</p>
</ons-list-item>
<ons-list-item onclick="fn.load('tab8.html')" tappable>
<ons-icon icon="sliders" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Einstellungen</p>
</ons-list-item>
</ons-list>
</ons-page>
</ons-splitter-side>
<ons-splitter-content id="content" page="tab1.html"></ons-splitter-content>
</ons-splitter>
以及您应该到达第 4 页的导航器:
<ons-navigator id="pushpage_navigator" page="tab1.html"></ons-navigator>
然后tab1.html:
<ons-template id="tab1.html">
<ons-page>
<div class="left"> <!--left-->
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="md-menu"></ons-icon>
</ons-toolbar-button>
</div>
<button onclick="change()" />
</ons-page>
和tab4.html你应该来自哪里tab1.html:
<ons-template id="tab4.html">
<ons-page>
<ons-toolbar>
<div class="left"><ons-back-button>Back</ons-back-button></div>
<div class="center">Uhrzeitenansicht</div>
</ons-toolbar>
</ons-page>
</ons-template>
最后是 javscript:
//ONSEN UI 2.0
window.fn = {};
window.fn.open = function() {
var menu = document.getElementById('menu');
menu.open();
};
window.fn.load = function(page) {
var content = document.getElementById('content');
var menu = document.getElementById('menu');
content.load(page)
.then(menu.close.bind(menu));
};
function change()
{
var myNavigator = document.getElementById('pushpage_navigator');
myNavigator.pushPage('tab4.html');
}
如果在拆分器之前设置 'ons-navigator' 标签,拆分器将不起作用。如果你在它之后设置它,你会得到这样的错误:myNavigator is null or pushPage is already 运行.
在我看来,您可能对两个元素(拆分器和导航器)的嵌套有一些问题。它们都应该充当实际页面的容器。所以如果你想同时使用两者,你应该把一个放在另一个里面。
如果你有类似的东西:
<ons-navigator id="pushpage_navigator">
<ons-page>
<ons-splitter>
<ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
<ons-page>
<ons-list>
<ons-list-item onclick="fn.load('tab1.html')" tappable>1</ons-list-item>
<ons-list-item onclick="fn.load('tab6.html')" tappable>6</ons-list-item>
<ons-list-item onclick="fn.load('tab8.html')" tappable>8</ons-list-item>
</ons-list>
</ons-page>
</ons-splitter-side>
<ons-splitter-content id="content" page="tab1.html"></ons-splitter-content>
</ons-splitter>
</ons-page>
</ons-navigator>
这样一开始您就可以同时访问拆分器和导航器。 Demo。
如果我以某种方式误解了您,或者您还有其他问题,请随时发表评论,我可以相应地更新我的答案。
我制作了一个主选项卡 (tab1.html),您可以在其中更改选项或转到设置...现在我希望您可以单击主选项卡上的按钮 (tab1.html) 来另一个 (tab4.html)。问题是它不能同时工作,所以菜单(拆分器)和 pushpage 功能;/如何解决?菜单的拆分器:
<ons-splitter>
<ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
<ons-page>
<ons-list>
<ons-list-item onclick="fn.load('tab1.html')" tappable>
<ons-icon icon="home" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Startseite</p>
</ons-list-item>
<ons-list-item onclick="fn.load('tab6.html')" tappable>
<ons-icon icon="user" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Mein Profil</p>
</ons-list-item>
<ons-list-item onclick="fn.load('tab8.html')" tappable>
<ons-icon icon="sliders" style="color: #1e88e5;"></ons-icon><p style="opacity: 0.6;"> Einstellungen</p>
</ons-list-item>
</ons-list>
</ons-page>
</ons-splitter-side>
<ons-splitter-content id="content" page="tab1.html"></ons-splitter-content>
</ons-splitter>
以及您应该到达第 4 页的导航器:
<ons-navigator id="pushpage_navigator" page="tab1.html"></ons-navigator>
然后tab1.html:
<ons-template id="tab1.html">
<ons-page>
<div class="left"> <!--left-->
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="md-menu"></ons-icon>
</ons-toolbar-button>
</div>
<button onclick="change()" />
</ons-page>
和tab4.html你应该来自哪里tab1.html:
<ons-template id="tab4.html">
<ons-page>
<ons-toolbar>
<div class="left"><ons-back-button>Back</ons-back-button></div>
<div class="center">Uhrzeitenansicht</div>
</ons-toolbar>
</ons-page>
</ons-template>
最后是 javscript:
//ONSEN UI 2.0
window.fn = {};
window.fn.open = function() {
var menu = document.getElementById('menu');
menu.open();
};
window.fn.load = function(page) {
var content = document.getElementById('content');
var menu = document.getElementById('menu');
content.load(page)
.then(menu.close.bind(menu));
};
function change()
{
var myNavigator = document.getElementById('pushpage_navigator');
myNavigator.pushPage('tab4.html');
}
如果在拆分器之前设置 'ons-navigator' 标签,拆分器将不起作用。如果你在它之后设置它,你会得到这样的错误:myNavigator is null or pushPage is already 运行.
在我看来,您可能对两个元素(拆分器和导航器)的嵌套有一些问题。它们都应该充当实际页面的容器。所以如果你想同时使用两者,你应该把一个放在另一个里面。
如果你有类似的东西:
<ons-navigator id="pushpage_navigator">
<ons-page>
<ons-splitter>
<ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
<ons-page>
<ons-list>
<ons-list-item onclick="fn.load('tab1.html')" tappable>1</ons-list-item>
<ons-list-item onclick="fn.load('tab6.html')" tappable>6</ons-list-item>
<ons-list-item onclick="fn.load('tab8.html')" tappable>8</ons-list-item>
</ons-list>
</ons-page>
</ons-splitter-side>
<ons-splitter-content id="content" page="tab1.html"></ons-splitter-content>
</ons-splitter>
</ons-page>
</ons-navigator>
这样一开始您就可以同时访问拆分器和导航器。 Demo。
如果我以某种方式误解了您,或者您还有其他问题,请随时发表评论,我可以相应地更新我的答案。