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