Javascript AngularJS ng如果内部转包指令

Javascript AngularJS ng如果内部转包指令,javascript,angularjs,Javascript,Angularjs,我试图使用ng if将DOM中的内容动态地包含在我正在编写的指令中。这里有很多代码,所以我将包含指向JSFIDLE的链接。在我的生活中,我使用 模板:' 范围也被排除在外了。然而,在我的生活中,我使用 模板:' 我不再有权访问控制器中定义的模型。我之所以需要使用ng if,是因为在向导的第二步中,我希望包含iframe,其中src取决于模型中定义的值。如果我使用ng show则iframe包含在DOM中,并在我的模型填充数据之前发出请求。您可以尝试使用ng src,对于iframe的源,do

我试图使用
ng if
将DOM中的内容动态地包含在我正在编写的指令中。这里有很多代码,所以我将包含指向JSFIDLE的链接。在我的生活中,我使用

模板:'
范围也被排除在外了。然而,在我的生活中,我使用

模板:'

我不再有权访问控制器中定义的模型。我之所以需要使用
ng if
,是因为在向导的第二步中,我希望包含
iframe
,其中
src
取决于模型中定义的值。如果我使用
ng show
iframe
包含在DOM中,并在我的模型填充数据之前发出请求。

您可以尝试使用ng src,对于iframe的源,docs:@cristebeto
iframe
仍然包含在DOM中。我想考虑一下,我可能能够在
iframe
本身上使用
ng if
来控制何时准备好渲染。但是仍然想知道为什么
ng if
在这里对我不起作用。我只是在这里猜测,但是可能ng if正在创建一个新的子作用域,所以您也可以尝试
ng if=“$parent.isCurrentStep”
@crisbeto抱歉,我想我的最后一条评论可能有点混乱。
ng if=“isCurrentStep”
可以工作,但是范围没有被排除。我不再有权访问我的
用户
模型我看不到除此之外的其他方法,这意味着您需要将隔离作用域属性映射到父作用域。
template:'<div class="step-content"><div ng-show="isCurrentStep" ng-transclude></div>
template:'<div class="step-content"><div ng-if="isCurrentStep" ng-transclude></div>