Angular.js摊牌不起作用

时间:2013-12-26 22:23:14

标签: javascript angularjs angularjs-directive markdown

我将Showdown.js添加到我的角度项目中,我的指令就像:

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是我正在使用的小提琴和例子。

由于

2 个答案:

答案 0 :(得分:2)

查看控制台日志显示Showdown未被加载,因为您直接从GitHub请求以text / plain发送的原始页面,并且jsfiddle需要适当的mime类型。修复了this jsfiddle以从CDN获取Showdown(以及样式的Bootstrap)。

此外,测试通常不是直接引用全局变量(例如Showdown),而是注入$window并通过$window.Showdown

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

答案 1 :(得分:0)

如果您在小提琴中打开控制台,您将看到非常具有描述性的错误消息:

  

拒绝执行脚本   'https://raw.github.com/coreyti/showdown/master/compressed/showdown.js'   因为它的MIME类型('text / plain')不可执行,而且是严格的   已启用MIME类型检查。

解决方法是从rawgithub.com为您的库提供服务。

所以,只需从.中移除raw.github,您的小提琴即可。

https://rawgithub.com/coreyti/showdown/master/compressed/showdown.js

WORKING FIDDLE