我试图在 Ajax 调用后重定向到一个模板文件:
window.location.href = "templates/somepage.html";
它转到页面,但是,在该页面上,按钮无法正确加载,当我单击按钮时,JavaScript 也不会被调用。我可能需要某种回调,因为需要调用 index.html
以及 templates/somepage.html
。
注意:我们正在使用 Ionic 框架,但我没有使用它的经验,因为我是一名 php 开发人员。另外,我更喜欢非 jquery 解决方案。谢谢。
最佳答案
无法正常工作或显示的原因是您重定向到的文件缺少所有核心包含(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
之上因此您可以使用状态转换器,而不是直接访问或重定向到模板文件。
您需要做的是注入(inject) $state
进入您的 Controller ,如下例所示:
routes.js
您应该已经熟悉所有这些,但是您将使用 myView
来指代状态.
[...].state('myView', {
url: '/my-url',
templateUrl: 'my/template/location.html',
controller: 'myViewCtrl'
});
controllers.js
在您的 Controller 中,您将注入(inject) $state
这将用于更改 View 。
[...].controller('myCtrl', function ($state) {
/** This will be used to change to the route that we created above. **/
$state.go('myView');
});
当我第一次开始使用 Ionic
时,我也遇到过这个问题我偶然发现了解决方案,并认为我可以提供帮助。
阅读 Material
关于javascript - XDK 重定向到模板文件将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38267751/