gpt4 book ai didi

javascript - 如何实现动态面包屑

转载 作者:行者123 更新时间:2023-11-29 17:18:41 25 4
gpt4 key购买 nike

我想实现动态面包屑,但真的不知道该怎么做。无法在互联网上找到很多示例。请参阅我添加面包屑的附图。代码如下

  <div style="font-size: 10px;">
<ul class="breadcrumb">
<li>
<a href="../Default.aspx">Home</a> <span class="divider">></span>
</li>

<li>

<li><a id="navObject" href="../AgrProduct/Index.aspx" class="active" >Search</a></li>
</ul>


</div>

breadcrumb

目前,我在面包屑导航中只有 2 个级别,即“主页”和“搜索”。当我单击“搜索”按钮时,它会显示产品列表,当我在产品上选择一个时,面包屑应显示为“主页”>“搜索”>“产品”。我还附上了单击“搜索”按钮时发生的情况的图像

SearchResult

请让我知道我应该怎么做。我真的卡住了。我用knockout,jquery。

最佳答案

好吧,如果您创建了面包屑 View 模型:

var breadCrumbViewModel = function()
{
var self = this;
self.breadCrumbs = ko.observableArray();

self.addCrumb = function(url, text, active)
{
self.breadCrumbs.push({ 'url': url, 'text': text, 'active': active });
}

self.reset = function()
{
self.breadCrumbs.removeAll();
}
}

然后像这样使用它(我没有测试过,所以可能会有一些错误,但这个想法应该是好的!)

 <ul class="breadcrumb" data-bind="foreach: breadCrumbViewModel.breadCrumbs">
<li>
<a data-bind="attr: { href: url }, text: text, css: { active: active }"></a> <span data-bind="visible: $index < breadCrumbViewModel.breadCrumbs - 1" class="divider">></span>
</li>
</ul>

您可以在导航到 SPA 中的“页面”时调用的函数中设置它:

function()
{
breadCrumbViewModel.reset();
breadCrumbViewModel.addCrumb('#/Home', 'Home');
breadCrumbViewModel.addCrumb('#/Product/:id', 'Search', true);
}

不要忘记将模型绑定(bind)到 html 元素,以便 knockout 执行它的操作。

我正在使用 sammy.js 的示例代码对于导航,虽然我承认我以前没有使用过 sammy.js,但我从 Microsoft Big Shelf SPA example 中获得了 navhistory.js 的自定义实现。 .但这应该足以让您抢先一步。我假设您确实希望这是一个 SPA,尽管您的链接中有实际的 URL 会带您转到另一个页面。

关于javascript - 如何实现动态面包屑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14518115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com