javascript - 在其他 javascript 框架模板中运行 Angular 指令

标签 javascript angularjs ember.js angularjs-directive

出于学习目的,我正在将 Angular 应用程序移植到 ember.js。 在我们的项目中,我们使用通过指令创建的自定义 Angular 模块。

由于移植该组件将花费大量时间,并且我想从前端应用程序开始,因此我希望能够在 ember 组件/模板内渲染 Angular 指令,并将变量传递给该指令。

可以找到一个不起作用的示例 here正如您所看到的,我希望能够使用 ember 模板中的指令。

如果无法通过模板实现,那么通过 javascript 渲染也可以。

更新1:updated在 ember 中使用 Angular 引导的版本,它工作正常,但我仍然需要弄清楚如何在 Angular 内传递变量

最佳答案

我自己找到了解决方案(也许有一些更好的方法来做到这一点),我所要做的就是手动创建和引导 Angular 模块并设置我想要在 rootscope 中传递的变量。

假设有一个 ember 模板,例如

<script type="text/x-handlebars" data-template-name="index">
  <div ng-app="myapp">
    <div somedirective="model"></div>
  </div>
</script>

在 View 中执行:

App.IndexView = Ember.View.extend({
  didInsertElement: function() {
    model = this.get('controller.model');
    angular.module('myapp', [])
    .directive('somedirective', function() {
        return { template: 'test {{ model[0] }} test' };
    }).run(function($rootScope){ $rootScope.model = model; });

    angular.bootstrap(this.element, ['myapp']);
  }
});

销毁 View 根元素时,Angular应该自动销毁,不会造成内存泄漏

关于javascript - 在其他 javascript 框架模板中运行 Angular 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29428740/

相关文章:

javascript - 动态创建的按钮及其自身的值

javascript - 如何在手机版中加载amp html

javascript - 使用 cordova.globalization.stringToDate 修改 jquery.getJSON 数组中的日期对象

javascript - 使用 MongoDB 从数组中检索值并将其存储在 csv 文件中

php - $http.get JSON 从 PHP 不工作

angularjs - Angular 和 Express 路由如何在 mean.js 应用程序中协同工作?

javascript - 为什么图标不显示在使用 Angular js 的列表中?

ember.js - 迭代 Ember 数据中的 DS.hasMany

node.js - 如何在 Jade 之上的 Handlebars.js 模板中使用 Ember.js {{action}}

ember.js - 使用 Ember Data 1.0 Beta 时 Model#typeKey 未定义