我正在尝试使用 AngularJS 为 HTML 创建一个指令,以便我可以在浏览器中呈现 Markdown。我想要的是有一个<markdown>
带有src
属性的标签,它将加载指定的文件并正确呈现它。
我已部分实施如下 -
function Main($scope) {
$scope.theContent = '#asgakfgajgfas\n##akfaljfqpo\ndhvkajvlbndvm';
};
angular.module('myApp', [])
.directive("markdown", function ($compile) {
return {
restrict: 'E',
require: 'model',
scope: {
value: "=model"
},
template: '<div ng-bind-html-unsafe="value | markdown"></div>'
};
}).filter('markdown', function () {
var converter = new Showdown.converter();
return function (value) {
return converter.makeHtml(value || '');
};
});
以及相应的 HTML -
<div ng-controller="Main">
<markdown model="theContent"></markdown>
</div>
这是上述代码的jsFiddle 链接(基于 John Linquist 的示例)。这不适用于该src
属性,但它能够加载模型中指定的降价文本字符串。
您能否告诉我如何更改此代码以加载src
标签中指定的文件。我正在考虑使用$http
AngularJS 提供的,但无法在指令定义中实际使用它。
我想要实现的是<markdown src="a/b/c.md" />