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

时间:2016-07-08 13:19:29

标签: javascript php ionic-framework intel-xdk

我正在尝试使用以下方法在Ajax调用后重定向到模板文件:

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

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

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

1 个答案:

答案 0 :(得分:1)

无法正常工作或显示的原因是因为您要重定向到的文件缺少所有核心包含(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都没有正常工作。

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时,我也在努力解决这个问题,我偶然发现了解决方案并认为我会帮忙。

阅读材料

Activating a State

$state.go() Reference