javascript - 使用 Framework7 和 AngularJS 加载页面

标签 javascript angularjs cordova html-framework-7

我使用phonegap + AngularJS + Framework7开发了电话应用程序。 我的问题始于框架的交换页面7。

当用户按下链接按钮时,Framework7 动态地将新的 HTML 页面注入(inject) DOM。因此,我必须使用 $compile 和 $apply() 与 Angular 来重新编译注入(inject)的新 html 部分。

但是在加载和编译同时打开窗口动画时会出现问题。 我的编译代码是:

//listiner for new page injection to DOM.
$$(document).on('pageInit', function (e) {
    //on page init , compile the new DOM ijected.
    $compile(angular.element(document.getElementsByClassName(e.detail.page.container.className)).contents())($scope);
    $scope.$apply();
});

还有一个名为“beforeAnimation”的事件。 我想也许在动画之前编译所有内容,同时向用户显示加载旋转器,当页面准备好时,我想启动动画并向他显示页面。 但我不确定如何实现这个解决方案, $compile$apply() 是同步的吗?如果我必须使用 Promise 来确保新页面的动画仅在 $compile$apply 完成后开始。

如果您考虑其他解决方案,我会很高兴听到。

最佳答案

我不确定它对你有多大帮助,但也许它可以给你正确的方向。我建议您为您的应用程序使用 ui-router ( https://github.com/angular-ui/ui-router ) 框架。有了它,您将不需要执行此类黑客攻击。

唯一的事情是,将其与 Framework 7 集成可能具有挑战性。尽管有些人成功了 https://github.com/nolimits4web/Framework7/issues/35

关于javascript - 使用 Framework7 和 AngularJS 加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36219524/

相关文章:

javascript - 在 Canvas 中填充一部分绘制的图像

javascript - 我怎样才能在 highcharts 中保持相同的颜色

javascript - $scope 未绑定(bind)到 Angular JS 中的函数内部

javascript - 如何在 Angular 2 项目中包含明确类型的文件

android - Phonegap HTML5/Android App - Iframe 高度问题

javascript - Vue 单文件组件不显示样式

javascript - 替换字符串中的最后一个数字

javascript - AngularJS ui-router 解析不返回自定义值

android - Android 的 Cordova WebView 超时错误

android - Cordova 插件文件路径 : Unable to resolve filesystem path