javascript - Ember 模板中出现未闭合元素错误

标签 javascript ember.js

我收到此错误:

Error: Unclosed element `container.style.display` (on line 25). 

我的程序的第 25 行是:

if ((container.style.opacity -= .01) <= 0)

但我认为它指的是下面的行:

container.style.display = "none";

为什么我会收到此错误?

上下文:

<script>
var container = document.getElementById('popUpContainer');

function popUpFadeOut() {
    if (container.style.opacity == 0) {
        container.style.opacity = 1;
        container.style.display = "block";

        var fading = function fade() {

            if ((container.style.opacity -= .01) <= 0) {
                container.style.display = "none";
                container.style.opacity = 0;
            } else {
                requestAnimationFrame(fade);
            }
        };

        setTimeout(fading, 1000); //popup box fades away after 1 seconds
    }
};
</script>

最佳答案

您提到的错误消息出现在 HTML 解析上下文中,很可能是 HTMLBar,这意味着您在模板中包含了脚本,而您一开始就不应该这样做。

快速修复方法是替换 <&lt; 。正确的解决方案是将脚本从模板移至其所属的 JS 文件中。

请注意,这在 HTML 文件中不会成为问题,因为脚本标记(现在)是“ protected ”,并且其中唯一可能导致问题的 HTML 是类似 const foo = "</script>"; 的内容。 。看来HTMLBars中的HTML解析登录并没有实现这种“保护”机制。理论上这可以被认为是一个错误,但没有人担心它,也没有人会修复它,因为无论如何你都不应该将脚本标签放在模板中。

关于javascript - Ember 模板中出现未闭合元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305121/

相关文章:

Ember.js 的 CSS 继承问题

javascript - Ember 是否支持依赖于其他库的库?

javascript - JavaScript typeof 曾经返回过 "array"吗?

javascript - 返回数据在特定 if 语句中不起作用

javascript - 如何在 Typescript 中声明 Type 类型的变量?

javascript - 我的 console.log 在错误的地方,但我不明白为什么

spring-mvc - Emberjs 无法正确接受来自 spring mvc 的数组

javascript - Ember JS 入门 - 屏幕闪烁

Javascript 密码生成器删除 2 个字符

javascript - 使用 "ember-rails"将现有 Rails 应用程序的路由从 Rails 迁移到 Ember