我從我的服務中獲得一些響應。該反應是在AngularJs從指令中的服務響應中操作數據
"My data <my-tag>Click me</my-tag>".
響應包含標籤「我的標籤」的形式。 我想編寫一個指令,每當呈現響應時,都會在標籤內操作「Click me」內容。自定義標籤中的內容應轉換爲超鏈接。我怎樣才能做到這一點?這是我的示例代碼。
我myService.js
Service.js
(function() {
function myService() {
this.getData = function(question,questionType) {
anotherService.getList(function(data, status) {
//Here data.text = "<my-tag>Click me</my-tag>"
document.getElementById("additionalData").innerHTML + data.text;
});
}
}
app.addService(app.config.modules.MY_MODULE, "myService", myService);
}());
Directive.js
(function() {
app.directive('myTag', function() {
debugger;
return {
link: function ($scope, element, attrs) {
debugger;
//Convert the text "Click me" into hyperlink
}
};
});
}());
myHtml.html
<html ng-app = "myApp">
<head>
<script>
app.inject(app.config.modules.MY_MODULE, "myService", function(instance) {
myService = instance;
console.log("myService dependency injected successfully.");
});
</script>
</head>
<body ng-controller="myCtrl">
<div>
<img id="getList" onclick="myService.getData()">
</div>
</body>
</html>
這篇文章可能會有所幫助http://stackoverflow.com/questions/14692640/angularjs-directive-to-replace-text –
是啊,我已經看到了這篇文章。就我而言,控件甚至不會輸入鏈接功能。我嘗試將元素標記「my-input」轉換爲屬性而不是元素。那也行不通。 – ASR
在您的指令中查看使用$ compile服務並將結果替換爲鏈接函數的元素,例如element.replaceWith($ compile(element)($ scope))或element.replaceWith(newHtml)($ scope)) – RamblinRose