Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在durandaljs中,我的导航a标签没有加载我的路线_Durandal - Fatal编程技术网

在durandaljs中,我的导航a标签没有加载我的路线

在durandaljs中,我的导航a标签没有加载我的路线,durandal,Durandal,我刚刚将我的项目升级到durandaljs 2.0。 从某种意义上说,如果我在浏览器地址栏中输入一个路由url并点击enter键,它将完美地加载哈希路由的视图。这适用于我所有的路线 但是,如果我单击href中具有完全相同的哈希路由的导航栏按钮,浏览器url将更改为正确的url(如果我在地址栏中按enter键,该url将正常工作),但视图不会加载 它几乎就像一个路由器。没有触发器的导航被调用 实际上,我尝试手动调用route.navigate(#xyz),{replace:false,trigge

我刚刚将我的项目升级到durandaljs 2.0。 从某种意义上说,如果我在浏览器地址栏中输入一个路由url并点击enter键,它将完美地加载哈希路由的视图。这适用于我所有的路线

但是,如果我单击href中具有完全相同的哈希路由的导航栏按钮,浏览器url将更改为正确的url(如果我在地址栏中按enter键,该url将正常工作),但视图不会加载

它几乎就像一个路由器。没有触发器的导航被调用

实际上,我尝试手动调用route.navigate(#xyz),{replace:false,trigger:true}),但这也不会加载xyz视图

我忽略了一些愚蠢的事情-有什么想法吗

从shell.js:

activate: function () {
    $.getJSON("/Account/GetCurrentUser").done(function (data, textStatus, jqXHR) {
        shell.user(data);
    });


    $(document).ajaxError(function (xhr, props) {
        if (props.status === 401) {
            window.location = "/Account/Login";
        }
    });

    router.map([
        { route: '', title: 'Jobs', moduleId: 'viewmodels/jobs', nav: true },
        { route: 'companies', title: 'Companies', moduleId: 'viewmodels/companies', nav: true },
        { route: 'profile', title: 'Profile', moduleId: 'viewmodels/profile', nav: true },
        { route: 'users', title: 'Users', moduleId: 'viewmodels/users', nav: true, hash: '#users' },
        { route: 'jobs(/filter/:filter)(/group/:group)(/sort/:sort)(/page/:page)', title: 'Jobs', moduleId: 'viewmodels/jobs', nav: false },
        { route: 'companies(/filter/:filter)(/group/:group)(/sort/:sort)(/page/:page)', title: 'Companies', moduleId: 'viewmodels/companies', nav: false }

        //,{ route: 'flickr', moduleId: 'viewmodels/flickr', nav: true }
    ]).buildNavigationModel();

    //router.mapNav('details');
    //router.mapNav('airports');
    //router.mapNav('emptylegs');

    return router.activate();
}
从nav.html:

<nav class="navbar navbar-fixed-top" style="max-height:68px">
    <div class="navbar-inner">
        <a class="brand" href="/">
            <span class="title"></span>
        </a>        
        <div>
            <ul class="nav" data-bind="foreach: router.navigationModel">
                <li><a data-bind="css: { active: isActive }, attr: { href: hash }, text: title"
                    class="btn btn-info" href="#"></a>
                </li>
            </ul>
        </div>
    </div>
</nav>


谢谢

我不知道这是否是问题所在,但是在
a
绑定中,您正在使用knockout更改href,然后再次设置
href=“#”

<a data-bind="css: { active: isActive }, attr: { href: hash }, text: title"
                class="btn btn-info" href="#"></a>
与此相反:

<!--ko compose: {
    model: router.activeItem, 
    afterCompose: router.afterCompose, 
    transition: 'entrance'
} -->

我不知道这是否是问题所在,但在
a
绑定中,您正在使用knockout更改href,然后再次设置
href=“#”

<a data-bind="css: { active: isActive }, attr: { href: hash }, text: title"
                class="btn btn-info" href="#"></a>
与此相反:

<!--ko compose: {
    model: router.activeItem, 
    afterCompose: router.afterCompose, 
    transition: 'entrance'
} -->


您可以发布带有链接和路由器配置的html吗?非常感谢。好的-刚刚在帖子中添加了activate from shell.js和html from nav.html。您是否通过浏览器调试器查看了呈现的html?
href
属性render as是什么?这是其中一个属性的呈现方式,但单击时视图不会加载:您可以发布带有链接和路由器配置的html吗?非常感谢。好的-刚刚在帖子中添加了activate from shell.js和html from nav.html。您是否通过浏览器调试器查看了呈现的html?
href
属性渲染为什么?这是其中一个属性的渲染方式,但单击时视图不会加载:非常感谢margabit!是shell.html路由器绑定语法导致了问题……没问题@t316!享受杜兰达尔!非常感谢玛加比特!是shell.html路由器绑定语法导致了问题……没问题@t316!享受杜兰达尔!