将 HTML 传递给 Angular 指令中的模板
Passing HTML to a template inside Angular directive
我需要 newValue 中的 HTML 才能工作,但它似乎只是吐出转义的字符
.directive('ngLookup', function () {
return {
restrict: 'A',
scope : {
text : '='
},
template: '{{newValue}}',
link: function (scope, elem, attrs) {
scope.newValue = scope.text.replace(/test/g,'<a href="javascript:;">test</a>');
}
}
})
我的解决方案使用以下答案:
.directive('ngLookup', function ($compile) {
return {
restrict: 'EA',
scope : {
text : '='
},
link: function (scope, elem, attrs) {
var txt = '<span>'+scope.text.replace(/test/g,'<a href="javascript:;">test</a>')+"</span>";
var newElement = $compile(txt)(scope);
elem.replaceWith(newElement);
}
}
})
您必须使用 $compile
-Service 自己编译 HTML。执行以下操作:
.directive('ngLookup', function ($compile) {
return {
restrict: 'A',
scope : {
text : '='
},
link: function (scope, elem, attrs) {
var newElement = $compile('<a href="javascript:;">test</a>')(scope);
elem.replaceWith(newElement);
}
}
})
相关文章:
- 将JSON对象传递给angular指令
- Angular指令在alertify setContent内容中不起作用
- 如何在angular js中使用指令.不适用于我的情况,为什么
- 向动态生成的DOM添加Angular自定义指令
- 使用指令的angular js中的Like和different
- angular type=[number]指令来阻止粘贴
- Angular Datetimepicker:指令'的模板;uib时间选择器'必须只有一个根元素
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 在其他javascript框架模板中运行angular指令
- 如何在给定的angular应用程序中获取所有指令名称
- Angular,从指令控制器中的控制器触发函数
- AngularJS:带有HTML和angular表达式的指令;编译”;具有外部范围的内容
- 将jquery插件转换为指令angular
- 基于嵌套指令Angular的宽度更改文本
- 如何将函数添加到禁用的指令 - Angular 2
- 我在从我的指令 Angular 访问控制器的范围时遇到问题
- 如何将变量从控制器传递到指令?Angular.JS
- 单指令Angular JS中的可选/多模板URL
- 调用链接函数指令Angular 1 ES6
- 指令angular中的访问范围控制器变量