【问题标题】:AngularJS and AJAX injection - Manually start the App?AngularJS 和 AJAX 注入 - 手动启动应用程序?
【发布时间】:2013-03-21 21:54:16
【问题描述】:

目前我的 Angular 应用程序被动态加载到当前网页中。这意味着以及所有脚本(angular.min.js / 控制器等),并与 Wicket AJAX 请求一起加载并注入当前网页。

脚本包含在头部中,div 以某种形式注入正文中。

此时 Angular 应该检测到 div 并启动应用程序,但没有任何反应。当我尝试使用 console.log(angular) 时,我会像使用普通应用程序一样获得角度。当我尝试加载相同的网页(没有 AJAX 注入)时,应用程序启动正常。

如何手动启动 AngularJS,或通知启动?

【问题讨论】:

    标签: ajax angularjs wicket


    【解决方案1】:

    http://docs.angularjs.org/guide/bootstrap

    手动初始化

    如果您需要对初始化过程进行更多控制,您可以改用手动引导方法。什么时候的例子 您需要这样做,包括使用脚本加载器或需要 在 Angular 编译页面之前执行操作。

    <!doctype html>
    <html xmlns:ng="http://angularjs.org">
      <body>
        Hello {{'World'}}!
        <script src="http://code.angularjs.org/angular.js"></script>
        <script>
           angular.element(document).ready(function() {
             angular.bootstrap(document);
           });
        </script>
      </body>
    </html>
    

    简而言之:从您的 html 中删除 ngApp 指令并手动引导

    开发者指南有你最需要的,建议大家阅读一下。

    【讨论】:

    • 你应该在动态加载页面完成后调用 angular.bootstrap
    • 没有。当页面准备好时调用它。但正如您所说,您在页面准备就绪后向页面添加了一些数据。完成后你应该调用它。
    猜你喜欢
    • 1970-01-01
    • 2011-04-06
    • 2010-09-13
    • 2018-07-15
    • 2013-03-10
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多