与使用常规方法时的同一页面相比,Aurelia 使用下拉菜单在 Foundation 中发出不同的 css 代码
Aurelia is emitting different css code in Foundation using a dropdown menu when compared to the same page when using the regular method
System Info:
Windows 7 x64
aurelia-framework: "^1.0.0-beta.1.1.3"
"foundation-sites": "^6.2.1"
skeleton-navigation-webpack
如何使同时使用 aurelia 和 foundation 时发出的 css 代码与在标准网页中单独使用 foundation 时发出的代码相同?这导致下拉菜单无法正常工作。
我正在使用 skeleton-navigation-webpack 并且只是用 foundation html 和 css 代替导航栏和一个空的欢迎页面
Aurelia 代码
main.js 初始化基础框架
aurelia.start().then(a => a.setRoot('app', document.body))
.then(a => {
// Initialize any frameworks you want to use
$(document).foundation();
console.log('foundation loaded')
});
基础 $(document).foundation();
的初始化似乎可以正常显示下拉菜单,但 css 略有不同
nav-bar.html 代码发出前的片段
<ul class="menu" data-responsive-menu="drilldown medium-dropdown">
<li class="has-submenu">
<a href="#">One</a>
<ul class="submenu menu vertical" data-submenu>
<li repeat.for="row of router.navigation">
<a href.bind="row.href">${row.title}</a>
</li>
</ul>
</li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
在 Aurelian 中导入基础 css 并在标准 html 页面中导入 link。唯一的区别是在 html 页面中通过 Aurelia
使用 repeat.for for <li>
Aurelia 中的代码
<ul class="menu dropdown" data-responsive-menu="drilldown medium-dropdown" role="menubar" data-dropdown-menu="x96kho-dropdown-menu">
<li class="has-submenu is-dropdown-submenu-parent opens-left" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="One" data-is-click="false">
<a href="#" tabindex="0">One</a>
<ul class="submenu menu vertical is-dropdown-submenu first-sub" data-submenu="" aria-hidden="true" role="menu">
<!--<view>--><li role="menuitem" class="is-submenu-item is-dropdown-submenu-item">
<a href.bind="row.href" class="au-target" au-target-id="1" href="#/">Welcome</a>
</li><!--</view>--><!--<view>-->
标准html页
<ul class="menu dropdown" data-responsive-menu="drilldown medium-dropdown" role="menubar" data-dropdownmenu="nfmerw-dropdownmenu" data-responsivemenu="8q9bqc-responsivemenu">
<li class="has-submenu is-dropdown-submenu-parent is-down-arrow is-active" role="menuitem" tabindex="0" title="One" aria-haspopup="true">
<a href="#" tabindex="-1">One</a>
<ul class="submenu menu vertical is-dropdown-submenu first-sub js-dropdown-active" data-submenu="" aria-hidden="false" tabindex="-1" role="menu">
<li role="menuitem" class="is-submenu-item is-dropdown-submenu-item" tabindex="0"><a href="#" tabindex="-1">One</a></li>
一个具体的是第一个<li>
中的左开class
<li class="has-submenu is-dropdown-submenu-parent opens-left" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="One" data-is-click="false">
Verse the is-down arrow is active
<li class="has-submenu is-dropdown-submenu-parent is-down-arrow is-active" role="menuitem" tabindex="0" title="One" aria-haspopup="true">
Aurelia 作为 "Single Page Application" 框架始终动态加载页面内容。我没有测试过,但我认为你必须在加载 ajax 内容后重新涂抹粉底。
您可以在 attached view-model method:
中调用基金会 'reflow'
attached() {
$(document).foundation();
}
'reflow'
不是 Foundation 6,我使用
attached(){
// refresh JS after DOM is loaded
$(document).foundation();
}
我无法测试这是否能更好地帮助您解决不同的问题 CSS,但我知道这是新的回流。
在此处找到答案:Foundation 6 & Reflow。我测试了回流功能,它有效。
System Info:
Windows 7 x64
aurelia-framework: "^1.0.0-beta.1.1.3"
"foundation-sites": "^6.2.1"
skeleton-navigation-webpack
如何使同时使用 aurelia 和 foundation 时发出的 css 代码与在标准网页中单独使用 foundation 时发出的代码相同?这导致下拉菜单无法正常工作。
我正在使用 skeleton-navigation-webpack 并且只是用 foundation html 和 css 代替导航栏和一个空的欢迎页面
Aurelia 代码
main.js 初始化基础框架
aurelia.start().then(a => a.setRoot('app', document.body))
.then(a => {
// Initialize any frameworks you want to use
$(document).foundation();
console.log('foundation loaded')
});
基础 $(document).foundation();
的初始化似乎可以正常显示下拉菜单,但 css 略有不同
nav-bar.html 代码发出前的片段
<ul class="menu" data-responsive-menu="drilldown medium-dropdown">
<li class="has-submenu">
<a href="#">One</a>
<ul class="submenu menu vertical" data-submenu>
<li repeat.for="row of router.navigation">
<a href.bind="row.href">${row.title}</a>
</li>
</ul>
</li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
在 Aurelian 中导入基础 css 并在标准 html 页面中导入 link。唯一的区别是在 html 页面中通过 Aurelia
使用 repeat.for for<li>
Aurelia 中的代码
<ul class="menu dropdown" data-responsive-menu="drilldown medium-dropdown" role="menubar" data-dropdown-menu="x96kho-dropdown-menu">
<li class="has-submenu is-dropdown-submenu-parent opens-left" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="One" data-is-click="false">
<a href="#" tabindex="0">One</a>
<ul class="submenu menu vertical is-dropdown-submenu first-sub" data-submenu="" aria-hidden="true" role="menu">
<!--<view>--><li role="menuitem" class="is-submenu-item is-dropdown-submenu-item">
<a href.bind="row.href" class="au-target" au-target-id="1" href="#/">Welcome</a>
</li><!--</view>--><!--<view>-->
标准html页
<ul class="menu dropdown" data-responsive-menu="drilldown medium-dropdown" role="menubar" data-dropdownmenu="nfmerw-dropdownmenu" data-responsivemenu="8q9bqc-responsivemenu">
<li class="has-submenu is-dropdown-submenu-parent is-down-arrow is-active" role="menuitem" tabindex="0" title="One" aria-haspopup="true">
<a href="#" tabindex="-1">One</a>
<ul class="submenu menu vertical is-dropdown-submenu first-sub js-dropdown-active" data-submenu="" aria-hidden="false" tabindex="-1" role="menu">
<li role="menuitem" class="is-submenu-item is-dropdown-submenu-item" tabindex="0"><a href="#" tabindex="-1">One</a></li>
一个具体的是第一个<li>
<li class="has-submenu is-dropdown-submenu-parent opens-left" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="One" data-is-click="false">
Verse the is-down arrow is active
<li class="has-submenu is-dropdown-submenu-parent is-down-arrow is-active" role="menuitem" tabindex="0" title="One" aria-haspopup="true">
Aurelia 作为 "Single Page Application" 框架始终动态加载页面内容。我没有测试过,但我认为你必须在加载 ajax 内容后重新涂抹粉底。
您可以在 attached view-model method:
中调用基金会 'reflow'attached() {
$(document).foundation();
}
'reflow'
不是 Foundation 6,我使用
attached(){
// refresh JS after DOM is loaded
$(document).foundation();
}
我无法测试这是否能更好地帮助您解决不同的问题 CSS,但我知道这是新的回流。
在此处找到答案:Foundation 6 & Reflow。我测试了回流功能,它有效。