XDK 重定向到模板文件将无法正常工作

XDK redirect to template file won't work correctly

我试图在 Ajax 调用后重定向到模板文件,使用:

window.location.href = "templates/somepage.html";

它转到页面,但是,在该页面上,按钮无法正确加载,并且当我单击按钮时 JavaScript 不会被调用。我可能需要某种回调,因为需要调用 index.html 以及 templates/somepage.html

注意:我们正在使用 Ionic 框架,但我没有使用它的经验,因为我是一名 php 开发人员。另外,我更喜欢非 jquery 解决方案。谢谢

无法正确运行或显示的原因是您重定向到的文件缺少所有核心包含(CSSJavaScript)文件,如下所示:

about.html

这是一个基础 Ionic 模板文件,如您所见,它没有 <script></script><link> 标签。

<ion-view title="About" id="page9">
    <ion-content overflow-scroll="true" padding="true" class="has-header">
    </ion-content>
</ion-view>

因此您的 CSSJavaScript 的 none 工作正常。

Ionic 建立在 AngularJS 之上,因此您可以使用状态转换器,而不是直接访问或重定向到模板文件。

您需要做的是将 $state 注入您的控制器,如下例所示:

routes.js

您应该已经熟悉所有这些,但是您将使用 myView 来指代状态。

[...].state('myView', {
    url: '/my-url',
    templateUrl: 'my/template/location.html',
    controller: 'myViewCtrl'
});

controllers.js

在您的控制器中,您将注入 $state 用于更改 视图

[...].controller('myCtrl', function ($state) {

    /** This will be used to change to the route that we created above. **/
    $state.go('myView');

});

当我第一次开始使用 Ionic 时,我也遇到过这个问题,我偶然发现了解决方案,并认为我可以提供帮助。

阅读Material

Activating a State

$state.go() Reference