【问题标题】:<p> + text + <ul> crashes angular 2<p> + text + <ul> 使角度 2 崩溃
【发布时间】:2017-06-06 02:38:44
【问题描述】:

我发现了一些奇怪的东西。在 Angular 2 组件中,这样的东西不起作用:

<p>
  AAA
  <ul>
    <li>BBB</li>
  </ul>
</p>

为什么? (我相信这是有效的 HTML)

(如果我在&lt;ul&gt; 之前移动&lt;/p&gt;,一切都会好起来的)

我收到奇怪的错误:

errors.js:64 Uncaught TypeError: Cannot set property 'stack' of 不明确的 在 SyntaxError.set [as stack] (http://localhost:4200/vendor.bundle.js:66369:61) 在assignAll (http://localhost:4200/vendor.bundle.js:100568:29) 在 SyntaxError.ZoneAwareError (http://localhost:4200/vendor.bundle.js:100639:16) 在 SyntaxError.BaseError [作为构造函数] (http://localhost:4200/vendor.bundle.js:66331:16) 在新的 SyntaxError (http://localhost:4200/vendor.bundle.js:6861:16) 在 DirectiveNormalizer.normalizeLoadedTemplate (http://localhost:4200/vendor.bundle.js:17962:19) 在 DirectiveNormalizer.normalizeTemplateSync (http://localhost:4200/vendor.bundle.js:17939:21) 在 DirectiveNormalizer.normalizeTemplate (http://localhost:4200/vendor.bundle.js:17916:43) 在 CompileMetadataResolver._loadDirectiveMetadata (http://localhost:4200/vendor.bundle.js:19158:75) 在http://localhost:4200/vendor.bundle.js:19334:54 在 Array.forEach (本机) 在 CompileMetadataResolver.loadNgModuleDirectiveAndPipeMetadata (http://localhost:4200/vendor.bundle.js:19333:41) 在http://localhost:4200/vendor.bundle.js:47800:58 在 Array.forEach (本机) 在 JitCompiler._loadModules (http://localhost:4200/vendor.bundle.js:47799:43)

额外问题:有什么方法可以定义此消息中的错误在哪里?

【问题讨论】:

  • 看起来 chrispy 有正确的答案,但就您的错误而言,将区域版本降级到 v0.7.4 有助于使所有与 html 模板相关的无用错误变成有用的错误
  • 好主意 ohana -- 我没有过多地弄乱区域,所以如果它给出更好的错误,这是一个很好的提示(有时 ng2 是模糊的)

标签: angular


【解决方案1】:

根据 HTML 规范,我认为您不能将 &lt;ul&gt; 元素放在 &lt;p&gt; 元素中——请参见此处:

Should ol/ul be inside <p> or outside?

我认为 Angular 2 不希望出现这种情况,因为它不是有效的 HTML,所以它会中断。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多