我正在尝试使用以下方法在Ajax调用后重定向到模板文件:
window.location.href = "templates/somepage.html";
它转到页面,但是,在该页面上,按钮将无法正确加载,单击按钮时将不会调用JavaScript。我可能需要某种回调,因为index.html
需要被调用以及templates/somepage.html
。
注意:我们正在使用Ionic框架,但我对它没有经验,因为我是一名php开发人员。另外,我更喜欢非jquery解决方案。感谢。
答案 0 :(得分:1)
无法正常工作或显示的原因是因为您要重定向到的文件缺少所有核心包含(CSS
和JavaScript
)文件,如下所示:
<强> 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>
因此,CSS
或JavaScript
都没有正常工作。
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
时,我也在努力解决这个问题,我偶然发现了解决方案并认为我会帮忙。
阅读材料