har*_*shr 9 angularjs angularjs-directive
我已经看到了在链接函数中重新发送元素的不同示例
例子一:
    var template = '<span><input type="text" ng-model="ngModel"></span>';
    element.html(template);
    $compile(element.contents())(scope);
例二:
    var template = '<span><input type="text" ng-model="ngModel"></span>';
    element.html(template);
    var el = $compile(element.contents())(scope);
    element.replaceWith(el);
我曾尝试过2-3个简单的指令,即使不更换元素也可以工作.那么"element.replaceWith(el)"的用例是什么?什么时候需要在链接函数的末尾使用"element.replaceWith(el)"?
替换实际上是可选的,最终结果将不完全相同:
第一个示例:带有指令的元素将span作为唯一的子元素
你的第二个例子:带有你的指令的元素最终被替换为span - > DOM中的一个级别.
一切都是关于你最终想要的DOM.如果您认为带有该指令的原始容器是仅用于声明组件的无用包装器,则您需要打开内容.
| 归档时间: | 
 | 
| 查看次数: | 7567 次 | 
| 最近记录: |