运行茶匙茉莉花测试时,出现以下错误。
ReferenceError:找不到变量:在中的Modify_create_favorite http://localhost:3000/assets/favorite.self-67fd17843e64bfbeed401bd.js?body=1?body=1 (第49行)
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');
}
}
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();
});
答案 0 :(得分:2)
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="objPanel"></div>
<script type="text/javascript">
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("objPanel").innerHTML = this.responseText;
}
};
xhttp.open("GET", "http://localhost:3002/obj", true);
xhttp.send();
</script>
</body>
</html>
方法只能在不创建实例的情况下通过调用类来调用,因此在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