私は本当に新しい角度です。 角度1.6を使用しているIm、私は既存のアプリでいくつかの変更を行う必要があります。指示灯
私が検索できるように、前の開発者はhttp://www.codingdrama.com/bootstrap-markdown/を使用して、いくつかのテキストオプションとプレビューを含むテキストエリアを持っていました。私の仕事はプレビューボタンをオーバーライドして、テキストを挿入してAPIを呼び出すことです。APIは結果を返します。そのマークダウンの文書で、私はこれを見つけました。
onPreview:機能(E){ のvar previewContent
if (e.isDirty()) {
var originalContent = e.getContent()
previewContent = "Prepended text here..."
+ "\n"
+ originalContent
+ "\n"
+"Apended text here..."
} else {
previewContent = "Default content"
}
return previewContent
}、
は、だから私はそれを無効にするために開始しました:
app.directive("markdowntextarea", ['$http', function ($http) {
return {
link: function (el_scope, element, attr) {
var previewContent = "preview";
element.markdown(
{
autofocus: false,
savable: false,
onPreview: function (e) {
console.log('1');
if (e.isDirty()) {
console.log('2!!')
var originalContent = e.getContent();
$http({
url: '/api/markdown/',
data: {"body": originalContent, "actual_format": "md", "desire_format": "html"},
method: 'POST'
}).then(function successCallback(response) {
console.log(response.data.content);
previewContent = response.data.content;
});
}else{
console.log('3')
previewContent = "";
}
previewContent = 'test';
return previewContent;
},
});
}
}
}]);
私は私が持っているエラーを見つけることができませんpreviewContentは常に「プレビュー」を返します。 API側からはOK、response.data.content
も正しいです。
は、チャレンジは、あなたが非同期関数を実行し、それが価値だ返すようにしたいということです何をすべきか、次
@ gus27セミコロンはjavascriptではオプションです。 – Lex
約束と非同期の呼び出しについて... –
OK、私はIFの外にpreviewContentを移動します – 62009030