我将Showdown.js添加到我的Angular项目中,我的指令如下:

angular.module('myApp', []).directive('markdown', function() {
var converter = new Showdown.converter();
return {
    restrict: 'E',
    link: function(scope, element, attrs) {
        var htmlText = converter.makeHtml(element.text());
        element.html(htmlText);
    }
}


});

它仍然没有处理降价。 Here是小提琴和我正在使用的示例。

谢谢

最佳答案

查看控制台日志,发现Showdown尚未加载,因为您直接从GitHub请求以文本/纯文本形式发送的原始页面,而jsfiddle需要正确的mime类型。已在this jsfiddle中修复,以从CDN获取Showdown(样式以及Bootstrap)。

同样,对于测试而言,通常的好习惯是不直接引用全局变量(例如Showdown),而是注入$window并通过$window.Showdown访问它

function($window) {
   var converter = new $window.Showdown.converter();
   ...
}

09-18 01:03