基于这个问题,虽然我觉得这有必要提出自己的问题:Google pagedown AngularJS directive
按照this question中的示例,它似乎有效,但是当我尝试将指令附加到页面时遇到问题。
这是我在链接函数中的代码:
scope.editor_id = null;
if(attrs.id == null) {
scope.editor_id = nextID++;
} else {
scope.editor_id = attrs.id;
}
//append editor HTML
//has to be done here so that it is available to the editor when it is run below
var editor_html = $compile(
'<div id="wmd-button-bar-' + scope.editor_id + '"></div>' +
'<textarea class="wmd-input" id="wmd-input-' + scope.editor_id + '" ng-model="content"></textarea>'
)(scope);
element.find('.wmd-panel').append(editor_html);
var editor = new Markdown.Editor(editor_converter, "-" + scope.editor_id);
editor.run();
但是,当我将其中一个附加到文档时,我收到以下错误:
TypeError: Cannot read property 'attachEvent' of null
wmd-input
当HTML 中不存在时,往往会出现此错误。但是,我将它与$compile
函数一起添加,它在页面加载时有效,但在附加时无效。我在这里做错了什么?