- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以我正在学习这个 udemy 类(class) https://www.udemy.com/course/become-a-wordpress-developer-php-javascript/我在这一点上我应该做一个实时搜索栏,但最终我得到一个错误,它根本没有意义
首先是我的错误:
Uncaught Error: Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: C:\Users\mathi\Local Sites\test-site-2\app\public\wp-content\themes\Test_site2\js\modules\Search.js: Unexpected token (59:12)
[0m [90m 57 | [39m[32m ${combinedResults.map(item => `<li><a href="${item.link}">${item.title.rendered}</a></li>`).join('')} [39m[0m
[0m [90m 58 | [39m[32m ${combineResults.lenght ? '</ul>' : ''}`[39m)[33m;[39m[0m
[0m[31m[1m>[22m[39m[90m 59 | [39m [33m<[39m[33m/[39m[33mdiv[39m[33m>[39m[0m
[0m [90m | [39m [31m[1m^[22m[39m[0m
[0m [90m 60 | [39m[0m
[0m [90m 61 | [39m [33m<[39m[33mdiv[39m [36mclass[39m[33m=[39m[32m"one-third"[39m[33m>[39m[0m
[0m [90m 62 | [39m [33m<[39m[33mh2[39m [36mclass[39m[33m=[39m[32m"search-overlay__section-title"[39m[33m>[39m[33mPrograms[39m[33m<[39m[33m/[39m[33mh2[39m[33m>[39m[0m
at Parser.raise (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:6344:17)
at Parser.unexpected (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:7659:16)
at Parser.parseExprAtom (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8828:20)
at Parser.parseExprSubscripts (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8413:23)
at Parser.parseMaybeUnary (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8393:21)
at Parser.parseExprOps (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8280:23)
at Parser.parseMaybeConditional (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8253:23)
at Parser.parseMaybeAssign (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8200:21)
at Parser.parseExpression (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:8148:23)
at Parser.parseStatementContent (C:\Users\mathi\Local Sites\test-site-2\node_modules\@babel\parser\lib\index.js:9917:23)
at eval (webpack:///./app/public/wp-content/themes/Test_site2/js/modules/Search.js?:1:7)
at Object../app/public/wp-content/themes/Test_site2/js/modules/Search.js (http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:132:1)
at __webpack_require__ (http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:20:30)
at eval (webpack:///./app/public/wp-content/themes/Test_site2/js/scripts.js?:9:73)
at Module../app/public/wp-content/themes/Test_site2/js/scripts.js (http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:144:1)
at __webpack_require__ (http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:20:30)
at http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:84:18
at http://test-site-2.local/wp-content/themes/Test_site2/js/scripts-bundled.js?ver=0.29723500%201560950056:87:10
这是我的代码:(问题始于“getResults()”
import $ from 'jquery';
class Search {
// 1. describe and create/initiate our object
constructor() {
this.addSearchHTML();
this.resultsDiv = $("#search-overlay__results");
this.openButton = $(".js-search-trigger");
this.closeButton = $(".search-overlay__close");
this.searchOverlay = $(".search-overlay");
this.searchField = $("#search-term");
this.events();
this.isOpenOverlayOpen = false;
this.isSpinnerVisible = false;
this.previousValue;
this.typingTimer;
}
// 2. events
events() {
this.openButton.on("click", this.openOverlay.bind(this));
this.closeButton.on("click", this.closeOverlay.bind(this));
$(document).on("keydown", this.keyPressDispatcher.bind(this));
this.searchField.on("keyup", this.typingLogic.bind(this))
}
// 3. methods (function, action...)
typingLogic(){
if(this.searchField.val() != this.previousValue){
clearTimeout(this.typingTimer);
if(this.searchField.val()){
if(!this.isSpinnerVisible){
this.resultsDiv.html('<div class="spinner-loader"></div>');
this.isSpinnerVisible = true;
}
this.typingTimer = setTimeout(this.getResults.bind(this), 750);
} else{
this.resultsDiv.html('');
this.isSpinnerVisible = false;
}
}
this.previousValue = this.searchField.val()
}
getResults() {
$.getJSON(testData.root_url + '/wp-json/test/v1/search?term=' + this.searchField.val(), (results) =>{
this.resultsDiv.html(`
<div class="row">
<div class="one-third">
<h2 class="search-overlay__section-title">General Information</h2>
${combinedResults.length ? '<ul class="link-list min-list">' : '<p>No general information matches that search.</p>'}
${combinedResults.map(item => `<li><a href="${item.link}">${item.title.rendered}</a></li>`).join('')}
${combineResults.lenght ? '</ul>' : ''}`);
</div>
<div class="one-third">
<h2 class="search-overlay__section-title">Programs</h2>
${combinedResults.length ? '<ul class="link-list min-list">' : '<p>No general information matches that search.</p>'}
${combinedResults.map(item => `<li><a href="${item.link}">${item.title.rendered}</a></li>`).join('')}
${combineResults.lenght ? '</ul>' : ''}`);
<h2 class="search-overlay__section-title">Professors</h2>
${combinedResults.length ? '<ul class="link-list min-list">' : '<p>No general information matches that search.</p>'}
${combinedResults.map(item => `<li><a href="${item.link}">${item.title.rendered}</a></li>`).join('')}
${combineResults.lenght ? '</ul>' : ''}`);
</div>
<div class="one-third">
<h2 class="search-overlay__section-title">Campuses</h2>
<h2 class="search-overlay__section-title">Events</h2>
</div>
keyPressDispatcher(e){
if(e.keyCode == 83 && !this.isOpenOverlayOpen && !$("input, textarea").is(':focus')){
this.openOverlay();
}
if(e.keyCode == 27 && this.isOpenOverlayOpen){
this.closeOverlay();
}
}
openOverlay(){
this.searchOverlay.addClass("search-overlay--active");
$("body").addClass("body-no-scroll");
this.searchField.val('');
setTimeout(()=> this.searchField.focus(), 301);
this.isOpenOverlayOpen = true;
}
closeOverlay(){
this.searchOverlay.removeClass("search-overlay--active");
$("body").removeClass("body-no-scroll");
this.isOpenOverlayOpen = false;
}
addSearchHTML(){$("body").append(`
<div class="search-overlay ">
<div class="search-overlay__top">
<div class="container">
<i class="fa fa-search search-overlay__icon" aria-hidden="true"></i>
<input type="text" class="search-term" placeholder="What are you looking for?"
id="search-term">
<i class="fa fa-window-close search-overlay__close" aria-hidden="true"></i>
</div>
</div>
<div class="container">
<div id="search-overlay__results"></div>
</div>
</div>
`);
export default Search;
最佳答案
第 58 - 65 和 69 行 _ 'length' 的拼写错误
${combineResults.lenght ? '</ul>' : ''}`);
另外 _ 看起来整个字符串应该在第 58 行下方的一行终止
所以
${combineResults.lenght ? '</ul>' : ''}`);
</div>
应该阅读
${combineResults.length ? '</ul>' : ''}
</div>`);
关于javascript - 在 Udemy Wordpress 讲座之后 - Live Search Bar 破坏了我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56668884/
鉴于 foo.bar是一个模块,有什么区别 import foo.bar as bar 和 from foo import bar 我对延迟导入模块对此有何影响特别感兴趣。 注意:这不是 this q
我正在寻找一个选项来创建组合了 1 个条形图(每个索引)和 2 个条形图的条形图。 像这样: 我可以假装制作一个 2 条形图,将 0 放入第一组条形图,然后手动绘制一个条形图……但是有更优雅的方法吗?
这只是编写相同代码的两种方式吗?有什么我应该注意的功能差异吗? >>> a = 'foo' >>> if not a == 'bar': ... 'its not' ... 'its not'
通常条形图中的条形并排对齐。我怎样才能让它们位于前一个之上?所以我会考虑创建我已经拥有的系列并将它们添加到渲染器,但告诉渲染器将新系列放在现有系列之上,而不是将其放在现有系列旁边。仅计算最大值并仅显示
我试图在 Amchart 4 中点击条形图/列时突出显示条形图/列。使用下面的代码,我正在获取当前点击的条形图/列的值,但使用的是 column.isActive 属性,条形/列未突出显示。 我找到了
我正在名为“tests”的文件夹中处理大量 qunit 单元测试。每个文件的顶部如下所示,例如: moduleFor('mixin:foo') // or moduleFor('route:bar')
我在 pyTorch 和 matplotlib 中看到了这个约定: import torch.nn as nn import torch.optim as optim import matplotli
与我的示例平行的是,我正在构建一个游戏并有一个名为 player.lua 的类。 几周前我编写了这个代码,当时我还不太了解 Lua 的工作原理,所以我没有为播放器构建的表格。 我已经为玩家分配了各种属
一个简单的例子: void foo(class Bar * bar) { foo2(bar); } void foo2(Bar * bar) { bar->a++; } foo2 中使
原始需求:我想实现一个将Foo::*转换为Bar::*的宏。 伪代码将如下所示: macro_rules! convert_foo_to_bar { ($v: ty, $p: path) =>
出于好奇。我检查某个字符串是否超过指定的最大长度: var name = "This Is a Name"; if (!name.length >= 10) { //valid length
之间有什么区别 export * as bar from 'foo' 和 export { default as bar } from 'foo' 在我的特殊情况下,我尝试了以下两种方法,它们都有效,
以下代码会返回错误, $ perl -E'sub foo { my $bar if 0; $bar++ }' This use of my() in false conditional is no l
我需要知道一些语言提供的这个很酷的特性的正确名称。 仅供引用:在某些语言中,可以通过将值结构分配给“变量”结构来进行多重分配。在问题标题的示例中,它将“foo”分配给 foo,将“bar”分配给 ba
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: What is the difference between object keys with quotes
我们要搜索一个文件以找到前面没有“foo”的“bar”的所有实例(忽略前面的空格和后面的任何内容。) 所以如果我们有 foo foo bar baz bar a bunch of monkey
这是一个 SSCCE : import java.util.*; class Test { public static void main(String[] args) { b
我正在开发一个插件,该插件将添加到外部站点,例如 Meebo/Wibiya 栏。我正在研究如何对我的文件进行版本控制。 我想要实现的目标: 网站只需添加几行到他们的网站。 如果我选择的话,我将能够以静
我需要在没有省略号的情况下显示标签中的所有文本,但我无法预测标签将占用的行数。 是否可以在每个标签和展示之间留出一些边距中心的条与标签对齐? (有或没有改变每条之间的距离) 是否可以计算每个条之间的距
1. struct thread_args { 2. int thread_id; 3. struct timeval before; 4. struct timeval after
我是一名优秀的程序员,十分优秀!