我有一个指令,它在加载时通过 ajax 获取数据。但是在控制器中发布一些数据的事件之后,指令应该使用新的 ajax 数据重新编译,以便可以反映更改。你能帮忙吗?
我在指令中有一个编译函数,它获取数据并将其放入 HTML 文件并生成标记。
然后我在控制器中有一个保存评论功能,它保存了一条新评论,因此指令获取了新数据。
compile: function(tElement, tAttrs) {
var templateLoader = $http.get(base_url + 'test?ticket=' + $routeParams.ticketid, {cache: $templateCache})
.success(function(htmlComment) {
if (htmlComment != '')
tElement.html(htmlComment);
else
tElement.html('');
});
return function (scope, element, attrs) {
templateLoader.then(function (templateText) {
if (tElement.html() != '')
element.html($compile(tElement.html())(scope));
else
element.html('<div class="no-comments comment"><p>Be the first to comment</p></div>');
});
};
}
这是指令的编译部分。我希望通过正常的控制器事件调用它。