AngularJS-ng开关内的指令不工作
我在ng开关内有一条指令,如下所示:AngularJS-ng开关内的指令不工作,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我在ng开关内有一条指令,如下所示: <div ng-switch on="myModel"> <div ng-switch-when="foo"> <zippy></zippy> </div> //Other ng-switch-when directives </div> 现在,当页面加载时,尽管myModel变成了foo,但模板不会加载。以下是borwser中元素的状态: &l
<div ng-switch on="myModel">
<div ng-switch-when="foo">
<zippy></zippy>
</div>
//Other ng-switch-when directives
</div>
现在,当页面加载时,尽管myModel
变成了foo
,但模板不会加载。以下是borwser中元素的状态:
<div ng-switch-when="foo" class="ng-scope">
<zippy></zippy>
</div>
类
ng作用域
被追加-就是这样。元素未更改-指令未替换为模板。我做错了什么?如何使指令生效?您需要在指令中添加restrict
:
演示:
文件:
restrict—EACM子集的字符串,用于将指令限制为特定的指令声明样式。如果省略,则只允许在属性上使用指令
电子元件名称:
A-属性:
C级:
M-Comment:默认情况下,指令是“仅属性”,因此至少需要在指令定义中添加
restrict:'E'
。我的错!我知道restrict
有一个默认值,但我假设它是元素而不是属性。我遇到了完全相同的问题,但restrict属性有“EA”。ng scope类被应用于我的自定义指令元素,但它没有被呈现。似乎是一个错误的角度。
<div ng-switch-when="foo" class="ng-scope">
<zippy></zippy>
</div>
app.directive('zippy', function() {
return {
scope: false,
template: "Hello FooBar",
restrict: 'E'
};
});