【问题标题】:initialize onsenui after document loaded加载文档后初始化 onsenui
【发布时间】:2015-10-05 20:37:14
【问题描述】:

我正在尝试在加载一些 js 文件后初始化 onsenui,但随后 ons.bootstrap() 导致错误。 当我使用来自 onsenui 的样本时,一切都很好,但在我的 项目,我必须动态同步加载js文件 然后是 ons.bootstrap();给我这个错误 "'AppController' 不是函数,未定义"

如果在带有脚本标签的 html doc 中以相同顺序声明相同的 js 库,则一切正常。

我发现如果脚本是通过正常的脚本标签加载的,然后我等到 html 文档完全加载,然后通过开发人员工具调用 ons.bootstrap() 我得到了同样的错误。

所以问题是如何在加载文档后初始化 onsen ui? 希望有人可以提供帮助,我对 angularJS/OnsenUi 不是很熟悉...第一个项目

谢谢

我创建了 2 个示例来演示我的问题。

  1. 像 onsenui 样本一样工作。 jbBgmdhttp://codepen.io/anon/pen/jbBgmd
  2. 不像我的情况那样工作。 BoWXdPhttp://codepen.io/anon/pen/BoWXdP

有什么想法吗?

【问题讨论】:

    标签: onsen-ui


    【解决方案1】:

    您在渲染元素后尝试加载 Onsen,这就是它给出错误的原因。您应该始终在渲染组件之前执行 Onsen。

    如果你想在DOM加载完成后执行一些代码,你应该使用ons.ready()函数,你可以在official documentation中查看。

    您可以在此处找到已修复且正常工作的 CodePen:http://codepen.io/andipavllo/pen/ZbKzRy

    这里是编辑后的 ​​JS:

    ons.bootstrap().controller("appController", function () 
        {
          ons.ready(function(){
          console.log("works")
        })
    });

    希望对你有帮助!

    【讨论】:

    • 非常感谢,现在我知道我必须先初始化 UI,然后等待其他资源加载完毕。
    • @bigdiddy 欢迎您,如果它解决了您的问题,请考虑将答案标记为最佳答案
    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多