【问题标题】:How to do navigation durandal.js?如何做导航 durandal.js?
【发布时间】:2013-08-02 06:18:01
【问题描述】:

我正在尝试将 durandal.js 用于单页架构,

我已经有应用程序在其中加载 div 中的所有页面 = 单页面架构的旧方法,

我想要做的是当我点击页面时我需要打开 hotspa 页面,

现在我写这样的东西。 www.xyz.com#/details,

# details 是我的 durandal 视图页面!

当我输入<a>herf ....#/details 时,我得到了这样的错误: http://postimg.org/image/hoeu1wiz5/

但是当我用相同的 url 刷新时,它工作正常,我可以看到视图!

我不知道为什么会出现这个错误

【问题讨论】:

    标签: requirejs single-page-application durandal sammy.js


    【解决方案1】:

    如果你使用的是 Durandal 2.0 版之前的任何东西,你会得到这个,因为在你的 Shell.js 中你没有定义路由器,或者你对路由器模块的位置有一个错误的定义,或者你可能正在定义脚本您的索引,而不是通过 require.js“要求它们”

    1st - 检查 shell.js,在顶部你应该有一个定义函数,它应该说/做这样的事情,并且应该像这样将它暴露给视图 -

    define(['durandal/plugins/router'], function (router) {
    
        var shell = {
            router: router
        };
    
        return shell;
    };
    

    2nd - 检查并确保“durandal/plugins/router”指向解决方案资源管理器中的正确位置,在本例中为 app > durandal > plugins > router。如果不是或没有路由器,您可以使用 nuget 添加它。

    3rd - 确保您没有在索引或 shell html 页面中加载脚本。使用 require.js 时,您需要将正在加载的任何脚本移动到 require 语句中,以使一切正常运行。当您在其他地方加载它们时,通常会出现“不匹配的匿名 define() 模块”错误 - http://requirejs.org/docs/errors.html#mismatch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多