javascript - 访问已编译指令的隔离范围

标签 javascript angularjs

我正在使用以下代码成功编译指令:

var element, $injector, $compile, link, scope;

element = angular.element(document.getElementById(#whatever));
$injector = element.injector();
$compile = $injector.get('$compile');
link = $compile(angular.element('<my-directive></my-directive>'));

scope = element.scope();
scope.foo = 'foo'; // I want to place this on the isolate scope!
element.append(link(scope));

该指令具有隔离范围。上面的 scope 变量为我提供了父元素的范围。如何获取指令的隔离范围?

最佳答案

Angular element 对象具有一些预定义的函数,例如 isolatedScope。挑战在于在正确的元素上调用它。像这样的东西有效:

angular.element(link(scope)).isolateScope()

在这里,您可以获取该指令的已编译+链接的 html 片段,然后调用 isolatedScope() 函数来获取隔离范围。

关于javascript - 访问已编译指令的隔离范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721285/

相关文章:

javascript - 使用 AngularJS 在 2 个不同的指令中调用相同的 $http.get()

javascript - 每次使用该命令时输出都会增加

javascript - 如何使用原型(prototype)获取背景图像的 x 或 y 位置?

javascript - 如何在点击评级图标后显示评级值

php - 表格提交失败

javascript - 无法使用 autoprefixer 使 grunt.js 任务 postcss 工作

jquery - 随机颜色 ng-repeat 内的 Div,元素数量未知

javascript - AngularJS - 函数永远无法获得控制

javascript - Cordova - Angular - ionic : Implement a loader before bootstrapping angular app

angularjs - 创建 JHipster 应用程序后如何启用翻译支持