gpt4 book ai didi

javascript - 调用 Javascript 类方法时出现错误 'Can' t find variable'

转载 作者:行者123 更新时间:2023-11-30 14:01:51 25 4
gpt4 key购买 nike

当我运行 teaspoon-jasmine 测试时,出现以下错误。

错误

ReferenceError: Can't find variable: modify_create_favorite in http://localhost:3000/assets/favorite.self-67fd17843e64bfbeed401bd.js?body=1?body=1 (line 49)

最喜欢的.js文件

class Favorites {

static create(listing_id) {
modify_create_favorite(find_favorite(listing_id));
}

static find_favorite(listing_id) {
return $("#i-favorite-"+listing_id);
}

static modify_create_favorite(object) {
object.removeClass('fa-heart-o').addClass('fa-heart').parent().attr('data-method','delete');
}
}

茶匙 Jasmine :

  it("will change the class", function() {
fixture.set(favorite_html);
Favorites.create('17');
expect( $('#i-favorite-17', fixture.el) ).not.toHaveClass( 'fa-heart-o')
expect( $('#i-favorite-17', fixture.el) ).toHaveClass( 'fa-heart')
expect( $('#i-favorite-17', fixture.el).parent() ).toHaveAttr("data-method",'delete')
expect(jQuery).toBeDefined();
});

最佳答案

static 方法只能通过调用类而不创建实例来调用,因此在 create 中你应该这样做:

Favorites.modify_create_favorite(Favorite.find_favorite(listing_id))

//or
this.modify_create_favorite(this.find_favorite(listing_id))

在您当前的实现中,您的代码正在寻找一个名为 modify_create_favorite() 的函数,因为不知道这是您的类的一个方法。

有关静态 方法的更多信息 https://developer.mozilla.org/en-US/docs/Web/JavaScript/reference/Classes/static

关于javascript - 调用 Javascript 类方法时出现错误 'Can' t find variable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56194170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com