我的模块的控制器有一个属性作为我在其中组装 HTML 的字符串。
在指令中,我尝试将 HTML 字符串分配给工具提示的属性,即“工具提示-html-不安全”。
我能够将整个元素分配给这个工具提示属性。如何访问父范围的属性?
请查看我的 plunkr 以获取给出的代码: http ://plnkr.co/edit/rTq8zrKdc3qABrc9Tde6?p=catalogue
我的模块的控制器有一个属性作为我在其中组装 HTML 的字符串。
在指令中,我尝试将 HTML 字符串分配给工具提示的属性,即“工具提示-html-不安全”。
我能够将整个元素分配给这个工具提示属性。如何访问父范围的属性?
请查看我的 plunkr 以获取给出的代码: http ://plnkr.co/edit/rTq8zrKdc3qABrc9Tde6?p=catalogue
两件事情:
scope.contentHTML
.如果您希望能够从指令中设置父作用域的 contentHTML 属性,您可以在指令中使用 scope 属性并将值设置为“=”。然后您可以从scope
链接功能中访问它。例如:
app.directive("tooltipView", function($compile) {
return {
restrict: "AE",
scope: {
tooltipView: "="
},
link: function(scope, element, attrs) {
console.log(scope.tooltipView);
}
};
});
如果您计划"="
在指令中使用符号值作为范围(上面的数字 2),您还需要告诉您的指令在 HTML 中映射到哪个范围值。所以:
<p tooltip-view="contentHTML">Hello {{name}}!</p>
将你的链接函数中的 scope.tooltipView 映射到你的控制器中的 $scope.contentHTML 。
查看基于您的 plunkr:http ://plnkr.co/edit/HskBFNRW8mC8QmVWr3hP
要从当前范围访问父范围,您可以执行以下操作:
scope.$parent.someValue