当我为角度设置属性时,像工具提示放置AngularJS将无法识别它们。
考虑一下代码:
demoApp.directive('tooltipView', function () {
return {
restrict: 'EA',
link: function (scope, element, attrs) {
element.attr("tooltip-placement", scope.placement);
element.attr("tooltip-html-unsafe", "testtooltip");
element.attr("tooltip-trigger", "mouseover");
}
};
});
奇怪的是,在使用检查器检查DOM时,DOM显示了这些属性,但AngularJS没有做任何事情。在这种情况下,它没有显示工具提示。
如何强制角度处理这些属性?
答案 0 :(得分:0)
如果您需要处理DOM的某些部分(某些元素及其子元素)并希望为其提供范围,则可以使用$ compile。
用法看起来像
$compile("<div ng-repeat='thing in stuff'>{{thing}}</div>")(someScopeWithStuffProperty)
因此,您编译了一段代码,该代码调用那些返回链接函数的指令的编译函数,然后对于链接函数的每个实例,使用您传递的范围变量。
可能还有其他方法可以触发Angular处理某个节点,但这是我到目前为止看到的唯一方法。
答案 1 :(得分:0)
链接采取行动为时已晚,因此您无法进行更改。
使用 $ compile API更多信息here: