Tôi sử dụng chỉ thị textAngular để định dạng văn bản thông báo qua email và bị kẹt trong khi có tác vụ khi tôi cần thêm html không thể chỉnh sửa bên trong văn bản có định dạng. Tôi đã thêm chỉ thị tùy chỉnh của mình qua chỉ thị textAngular. Với trợ giúp chỉ thị tùy chỉnh của tôi, tôi thay thế các ký tự đặc biệt trong chuỗi ký tự thành các thẻ span html với thông số contenteditable='false'
, nhưng thông số này không hoạt động và nội dung vẫn có thể chỉnh sửa được.văn bản đa dạng với nội dung không chỉnh sửa được, angularjs
Trong trường hợp này tôi có hai câu hỏi:
- Làm thế nào tôi có thể thiết lập không thể chỉnh sửa html bên trong nội dung textAngular chỉ thị?
- Làm thế nào tôi có thể concat biến của tôi vào chuỗi ham muốn nơi (hiện nay nó luôn concats đến cuối chuỗi)
Tôi đánh giá cao sự giúp đỡ nào.
Plunker với vấn đề của tôi
thị tùy chỉnh của tôi:
app.directive('removeMarkers', function() {
return {
require: "ngModel",
link: function (scope, element, attrs, ngModel) {
element.bind('click', function (e) {
var target = e.target;
var parent = target.parentElement;
if (parent.classList.contains('label-danger')){
parent.remove()
}
});
function changeView(modelValue){
modelValue= modelValue
.replace(/\{{/g, "<span class='label label-danger' contenteditable='false' style='padding: 6px; color: #FFFFFF; font-size: 14px;'>")
.replace(/\}}/g, "<span contenteditable='false' class='remove-tag fa fa-times'></span></span> ");
ngModel.$modelValue= modelValue;
console.log(ngModel)
return modelValue;
}
ngModel.$formatters.push(changeView);
}
}
});
Html
<select class="form-control pull-right"
style="max-width: 250px"
ng-options="label.name as label.label for label in variables"
ng-change="selectedEmailVariables(variable)"
ng-model="variable">
<option value="">template variables</option>
</select>
<div text-angular remove-markers name="email" ng-model="data.notifiation"></div>
Có vẻ như các nhà phát triển rất miễn cưỡng khi thêm tính năng này. Rõ ràng là một lựa chọn tốt là ckeditor. – Deckerz