angular将字符串转成html,AngularJS:将字符串转换为带有指令的HTML模板

感谢你们两位,这对我帮助很大。

我已经相应地更改了我的方法。我不想直接在#之间添加网址。我打电话给一个服务,让我找到链接文本和我创建的参考之间的对应关系。

我因此创建了一个参考:

referential.json

{

"lollianus_primae" : {

"link" : "lollianus",

"content" : "torvum renidens fundato pectore mansit inmobilis nec se incusare nec quemquam alium passus et tandem nec confessus nec confutatus..."

},

"nulla_suffragiorum" : {

"link" : "nullasuffragiorum",

"content" : "torvum renidens fundato pectore mansit inmobilis nec se incusare nec quemquam alium passus et tandem nec confessus nec confutatus..."

},

"exploratius" : {

"link" : "exploratius",

"content" : "torvum renidens fundato pectore mansit inmobilis nec se incusare nec quemquam alium passus et tandem nec confessus nec confutatus..."

},

}

然后创建其使得能够格式化每个文本块的指令(是一个跨度或一个链接,如果是这样,我?添加addActionToLink指令给它)。

(function() {

'use strict';

angular

.module('project')

.directive('formatText', formatText);

/** @ngInject */

function formatText($compile) {

var directive = {

restrict: 'A',

replace:true,

scope : {

texte : '='

},

link: function (scope, elem, attrs) {

if (scope.texte.indexOf('_') !== -1){

// this is a link

var link = scope.texte;

var content = scope.texte.replace('_', ' ');

elem.replaceWith($compile('' + content + "")(scope));

} else {

elem.replaceWith($compile("" + scope.texte + "")(scope));

}

}

};

return directive;

}

})();

addActionToLink指令向元素添加可能的操作。 在情况下采取行动,它发送信息到负责打开的服务和喂养弹出

(function() {

'use strict';

angular

.module('project')

.directive(addActionToLink, addActionToLink);

/** @ngInject */

function addActionToLink(dimensionsService, DefinitionService) {

var directive = {

restrict: 'A',

link: function (scope, elem, attrs) {

if (dimensionsService.estUnFormatDesktop()) {

elem.bind("mouseover", function() {

console.log(attrs);

DefinitionService.recupereReferential (attrs.id).then(function (res) {

DefinitionService.ouverturePopupEttransmissionInfosSurCetteDefinition(res.data, attrs, elem[0]);

}) ;

});

} else {

elem.bind("click", function() {

console.log(attrs);

DefinitionService.recupereReferential (attrs.id).then(function (res) { DefinitionService.ouverturePopupEttransmissionInfosSurCetteDefinition (res.data, attrs, elem[0]);

});

});

}

}

};

return directive;

}

})();

这是模板的样子:

服务检索信息和打开弹出窗口仍在建设中。 再一次,非常感谢你。我不再被困住了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值