【问题标题】:Replace deprecated `this.$()` in Ember 3替换 Ember 3 中已弃用的 `this.$()`
【发布时间】:2020-02-27 17:46:03
【问题描述】:

this.$() has been deprecated 在 Ember.js 中,将在 Ember 4 中删除。它应该替换为原生 Javascript。尽管如此,迁移可能很难一次性完成。

这是在继续使用 JQuery 的同时替换以前的 this.$() 的正确方法吗?

// BEFORE
this.$().on('transitionend', () => this.doSomething());

// AFTER
import $ from 'jquery';

$(this.element).on('transitionend', () => this.doSomething());

或者有其他方法吗?

【问题讨论】:

    标签: javascript jquery ember.js


    【解决方案1】:

    是的。这将是一个有效的步骤,即使它是一个非常小的步骤。我建议您尝试使用本机 JavaScript 替换 jQuery,至少对于简单的目标。甚至还有一个 codemod 可以帮助您这样做:

    npx ember-3x-codemods jquery-apis path/of/files/
    

    更多信息请到it's documentation

    【讨论】:

    • 那个codemod很危险。它将每个 jQuery 方法视为对事件处理程序方法的调用。任何读过这篇文章的人都应该避免它,除非在他们的 Ember 项目中唯一使用 jQuery 只是事件处理。
    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多