【问题标题】:Using an existing AngularJS app in existing Meteor-Blaze project在现有 Meteor-Blaze 项目中使用现有 AngularJS 应用程序
【发布时间】:2016-06-01 15:29:12
【问题描述】:

我有一个工作的 AngularJS 项目,我最近开始使用 Meteor-Blaze 编写的开源项目。我知道 AngularJS 可以用于流星而不是 blaze,如here. 所述

我想做的是让我相当简单的 Angular 项目加载到 Meteor-Blaze 项目中,而无需强制导航到新站点。问题是,我读过的所有内容似乎都表明,如果我希望 Angular 在 Meteor 中工作,我需要先从我的项目中删除 Blaze。

我相信我已经找到了相反的说明,即在 Angular 项目中托管 Blaze 模板here.

这是可能的吗?我意识到最好的解决方案可能是在 Blaze 中重写我的 Angular 项目,但我现在更愿意避免这样做,即使它不是一个完美的解决方案。

关于我正在尝试做的事情的更多说明:Meteor-Blaze 项目使用kadira:flow-router 将页面的一部分设置为特定的 Blaze 模板,使用:{{pathFor 'myLink'}}。这在使用 FlowRouter.route() 设置它们之后使用。最理想的是能够使用相同的“FlowRouter”显示我的 Angular 应用程序,但我认为它并不那么简单,我愿意接受其他建议。

【问题讨论】:

    标签: angularjs meteor meteor-blaze angular-meteor


    【解决方案1】:

    我已经使用Meteor/Public folder 解决了这个问题。通过删除我的应用程序,流星现在会忽略文件并将它们作为静态资产从您的根目录加载。

    从那里开始很简单,我创建了一个包含 iframe 的模板,它只是加载我的 Angular 项目:

    <template name="dummypage">
      <iframe style="height:100%; width:100%" src="/my_angular_app/index.html"></iframe>
    </template>
    

    然后我使用 FlowRouter 路由到它:

    FlowRouter.route('/dummypage');
    

    注意:我确信除了使用 FlowRouter 之外还有多种方法可以加载 dummypage 模板,但这对我的用例有效。

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2019-04-18
      • 1970-01-01
      相关资源
      最近更新 更多