ui-sref链接无法在ipad上运行

时间:2014-12-17 08:44:42

标签: angularjs ipad cordova angular-ui-router

我的(phonegap)应用程序在我的浏览器(Chrome + Ripple)以及Android平板电脑上工作正常。但是,当使用xCode构建应用程序并在iPad上运行时,该链接不再起作用。

$rootScope.$on('$stateChangeError', function(){..});

显示错误:

config: Object
data: ""
headers: function (c) {a||(a=vc(b));return c?a[D(c)]||null:a;}
status: 404
statusText: ""
__proto__: Object

我猜 404 表示"状态未找到"?

路线:

.state('seminar', {
    url: "/seminar/{id}",
    views: {
        'nav@':  { templateUrl: "views/navigation/main.html" },
        'main@': { templateUrl: "views/seminars/main.html" },
        'side@': { templateUrl: "views/seminars/side.html" }
    }
})

查看:

<a href ui-sref="seminar({ id: seminarCtrl.seminar.id})">Start</a>

在登录表单上

ng-submit()

工作正常。

我无法找到与此问题相关的任何其他问题。 iOS和ui-sref / ui-router会出现问题吗?

提前谢谢。

- 更新1 -

以下是 $ stateChangeError 函数抛出的错误消息的屏幕截图:

Errormessage

1 个答案:

答案 0 :(得分:1)

我无法找到答案为什么它在浏览器中工作但在iOS上没有,但我设法找到了解决方案。

我的新路由器:

.state('seminar', {
        url: "/seminar/{seminar_id}",
        views: {
            'nav@':  { templateUrl: "views/navigation/main.html" },
            'main@': { templateUrl: "views/seminars/main.html" },
            'side@': { templateUrl: "views/contact/side.html" }
        }
    })
    .state('seminar.course', {
        url: "/course/{course_id}",
        views: {
            'main@': { templateUrl: "views/courses/main.html" },
            'side@': { templateUrl: "views/courses/side.html" }
        }
    })

问题隐藏在第二条路线中。起初我写过

url: "seminar/{seminar_id}/course/{course_id}",

导致错误的网址

/seminar/1/seminar/1/course/5

删除网址的第一部分后,它适用于iOS。

另外,semin_id将自动交给第二条路线,并在$ stateParams中提供。

希望有人可以使用这些信息。

相关问题