【问题标题】:Ignore section reference with Sammy.js使用 Sammy.js 忽略部分参考
【发布时间】:2013-06-18 19:55:44
【问题描述】:

Twitter bootstrap accordion not working with Sammy.js

是一个类似的问题,但从未得到回答。

我正在创建一个附加的 Twitter Bootstrap 侧导航列表并使用基于 href 的,但是当我单击它们时,Sammy 正试图捕捉路线。由于我正在动态创建 Id 和 href,因此我可以防止它们与现有路由匹配,但它会不断地在控制台中出现错误。我确信在生产中它们不会出现,但有什么办法可以防止这种情况发生吗?

        <ul class="nav nav-list affix">
            <!-- ko foreach: sections -->
                <li class="nav-header"><span data-bind="text: navDesc"></span></li>
                    <!-- ko foreach: paragraphs -->
                    <li><a data-bind="attr: { href: '#' + navProp() }"><span data-bind="text: navDesc"></span> <i class="icon-chevron-right"></i></a></li>
                    <!-- /ko -->
            <!-- /ko -->
        </ul>

我知道这将在下一版本的 Durandal 中修复,但只需检查任何其他选项。

【问题讨论】:

    标签: javascript twitter-bootstrap durandal sammy.js


    【解决方案1】:

    Durandal 1.2 提供了一个guardRoute 方法,可以让您在调用到达 sammy 之前拦截它。

    查看How to handle / ignore a bad route with durandal? 了解更多信息。

    【讨论】:

    • Rainer 我确信这是正确的道路,但我不知道在激活我的 shell.js 之前要保护的路线的名称,因为我的路线是根据实体属性动态创建的,你能更详细地描述一下这是如何工作的吗?你是说设置像 /#/#guarded 这样的前身(然后是导航 id?)
    • 不确定我是否可以更具体,因为它是您的应用程序;-)。查看提供的示例,您如何确保 navProp() 目前不会干扰任何手动路由?为所有应该忽略的路由添加前缀似乎是一个可行的选择。
    • Rainer 经过两周的尝试使其工作,我认为这不是解决方案。路由器将 j 所做的一切都视为错误路由
    • 抱歉。 Durandal 2.0 即将到来,我刚刚更新了github.com/dFiddle/dFiddle-2.0。这仍然使用 alpha 位,但看起来新路由器已经相当稳定了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2011-03-01
    • 1970-01-01
    相关资源
    最近更新 更多