为什么AngularJS隔离作用域没有附加到指令根元素(使用replace时)?

为什么AngularJS隔离作用域没有附加到指令根元素(使用replace时)?,angularjs,Angularjs,在指令上使用replace标志时,普通作用域将附加到模板的根元素,该元素将附加ng作用域类 当指令使用隔离作用域时,模板的根元素仍然会附加一个作用域类:ng isolate scope,但隔离作用域本身不会附加到节点。为什么会有这种行为 我对此很感兴趣,因为它似乎还干扰了在模板的根元素中使用ng if的模板的预期行为。它会导致模板从外部作用域转移,而不是从指令的本地隔离作用域转移 下面是一个简单指令的示例,其隔离范围和替换设置为true。如果注意控制台日志,您将看到指令的根元素没有绑定到指令的作

在指令上使用replace标志时,普通作用域将附加到模板的根元素,该元素将附加ng作用域类

当指令使用隔离作用域时,模板的根元素仍然会附加一个作用域类:ng isolate scope,但隔离作用域本身不会附加到节点。为什么会有这种行为

我对此很感兴趣,因为它似乎还干扰了在模板的根元素中使用ng if的模板的预期行为。它会导致模板从外部作用域转移,而不是从指令的本地隔离作用域转移


下面是一个简单指令的示例,其隔离范围和替换设置为true。如果注意控制台日志,您将看到指令的根元素没有绑定到指令的作用域,只有子元素被绑定

你能给我们看一个你的问题的例子吗,也许是代码?是的,我刚刚添加了一个plunkr。