如何在AngularJS指令中重新渲染模板?

如何在AngularJS指令中重新渲染模板?,第1张

如何在AngularJS指令中重新渲染模板?

这是一个可重用的指令,您可以使用它在发送事件时重建被包含的内容:

app.directive('relinkEvent', function($rootScope) {    return {        transclude: 'element',        restrict: 'A',        link: function(scope, element, attr, ctrl, transclude) { var previousContent = null; var triggerRelink = function() {     if (previousContent) {         previousContent.remove();         previousContent = null;     }     transclude(function (clone) {         element.parent().append(clone);         previousContent = clone;     }); }; triggerRelink();      $rootScope.$on(attr.relinkEvent, triggerRelink);        }    };});

这是一个jsFiddle演示其工作原理:http :
//jsfiddle.net/robianmcd/ZQeU5/

请注意,每次单击“触发器重新链接”按钮时,输入框的内容将如何重置。这是因为每当触发事件时,都会删除输入框并将其添加到DOM。

您可以按原样使用此指令,也可以对其进行修改,以使其触发

scope.$watch()
而不是事件。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5019988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存