javascript - AngularJS: header 标签破坏了 ngSwitch

标签 javascript html angularjs

当我使用<h3>时我的 html 中 ngSwitch 内的标签,整个事情就崩溃了。

错误:[$compile:ctreq] 指令“ngSwitchWhen”所需的 Controller “ngSwitch”找不到!

如果我更换 <h3>带有 <strong> 的标签例如标签然后它就可以工作。

您可以尝试此处的示例:http://jsfiddle.net/Lb8aatyz/1/

HTML #1

<div ng-controller="MyCtrl">
  <p data-ng-if="::type" data-ng-switch="type">
    <span><h3>Account type:</h3></span>
    <span data-ng-switch-when="facebook" class="ico-fb inline"></span>
    <span data-ng-switch-when="google" class="ico-google inline"></span>
    <span data-ng-switch-default="" class="ico-email inline"></span>
    <span>{{ type }}</span>
  </p>
</div>

Html #2

<div ng-controller="MyCtrl">
  <p data-ng-if="::type" data-ng-switch="type">
    <span><strong>Account type:</strong></span>
    <span data-ng-switch-when="facebook" class="ico-fb inline"></span>
    <span data-ng-switch-when="google" class="ico-google inline"></span>
    <span data-ng-switch-default="" class="ico-email inline"></span>
    <span>{{ type }}</span>
  </p>
</div>

最佳答案

这是因为 p 中的 h3div 在任何 HTML 标准中都是无效的。在这种情况下,如果你在浏览器中使用inspect elements,你会发现h3自动关闭p,这使得ngSwitch中断。

更多详细信息请参见:https://stackoverflow.com/a/4291608/1867608

关于javascript - AngularJS: header 标签破坏了 ngSwitch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38182138/

相关文章:

javascript - requireJS - 使用 ajax 请求

javascript - 管理具有复杂状态的 View

javascript - 在 VueJS 中循环包含两个不同数组的对象

javascript - ng-class 完美地应用第一类,但第二类不阅读 css 规则

Javascript If 条件检查变量是否为空对象

javascript - 使用新值从现有对象创建新对象 Angular/Ionic 3

javascript - React-倒计时-现在不在渲染上更新

javascript - 如果值为 true,则通过 splice 删除数组项

php - 更改 HTML 属性值

java - 无法在我的 web 应用程序中显示我的 pdf(不在阻止模式下)