我正在使用以下代码成功编译指令:
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
变量为我提供了父元素的范围。如何获得指令的隔离范围?
答案 0 :(得分:1)
Angular element
对象具有一些预定义的函数,例如isolatedScope
。挑战在于将其称为正确的元素。这样的事情有效:
angular.element(link(scope)).isolateScope()
在这里,您可以获取指令的已编译+链接的html片段,然后调用isolatedScope()
函数来获取隔离的范围。
答案 1 :(得分:1)
使用link(scope).isolateScope()
获取已编译元素的隔离范围