คำถามติดแท็ก javascript

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

10
หลายเงื่อนไขสำหรับ JavaScript .includes () วิธีการ
แค่สงสัยว่ามีวิธีการเพิ่มเงื่อนไขหลายอย่างให้กับวิธีการ. var value = str.includes("hello", "hi", "howdy"); ลองนึกภาพเครื่องหมายจุลภาค "หรือ" ตอนนี้กำลังถามว่าสตริงมี hello, hi หรือ howdy ดังนั้นก็ต่อเมื่อมีเงื่อนไขเดียวเท่านั้นที่เป็นจริง มีวิธีการทำไหม?

5
ทำให้ React useEffect hook ไม่ทำงานในการแสดงผลครั้งแรก
ตามเอกสาร: componentDidUpdate()จะถูกเรียกใช้ทันทีหลังจากการอัปเดตเกิดขึ้น วิธีนี้ไม่ถูกเรียกใช้สำหรับการเรนเดอร์เริ่มต้น เราสามารถใช้useEffect()hook ใหม่เพื่อจำลองcomponentDidUpdate()ได้ แต่ดูเหมือนว่าuseEffect()จะถูกเรียกใช้หลังจากการเรนเดอร์ทุกครั้งแม้ในครั้งแรก ฉันจะทำให้มันไม่ทำงานในการเรนเดอร์ครั้งแรกได้อย่างไร ดังที่คุณเห็นในตัวอย่างด้านล่างcomponentDidUpdateFunctionถูกพิมพ์ในระหว่างการเรนเดอร์ครั้งแรก แต่componentDidUpdateClassไม่ได้ถูกพิมพ์ในระหว่างการเรนเดอร์ครั้งแรก function ComponentDidUpdateFunction() { const [count, setCount] = React.useState(0); React.useEffect(() => { console.log("componentDidUpdateFunction"); }); return ( <div> <p>componentDidUpdateFunction: {count} times</p> <button onClick={() => { setCount(count + 1); }} > Click Me </button> </div> ); } class ComponentDidUpdateClass extends React.Component { constructor(props) { …

3
AngularJS ตัวกรองหลายตัวพร้อมฟังก์ชันตัวกรองที่กำหนดเอง
ฉันกำลังพยายามกรองรายการด้วยตัวกรองหลายตัว + ด้วยฟังก์ชันตัวกรองที่กำหนดเอง ตัวอย่าง jsfiddle ที่ใช้งานได้ดั้งเดิมคือhttp://jsfiddle.net/ed9A2/1/แต่ตอนนี้ฉันต้องการเปลี่ยนวิธีการกรองอายุ ฉันต้องการเพิ่มตัวกรองที่กำหนดเองเพื่อให้อายุของมันกรองตามค่าอินพุตสองค่าซึ่งคือmin_ageและmax_age (ระหว่างอายุ) หลังจากดูใน doc. ฉันพบว่ามีคนที่มีคำถามคล้าย ๆ กันและผู้ใช้ Mark Rajcok ตอบhttp://docs.angularjs.org/api/ng.filter:filter#comment-648569667ดูดีและน่าจะใช้งานได้ แต่ฉันมีปัญหาในการนำไปใช้กับรหัสของฉันซึ่งส่วนใหญ่ดูเหมือนจะเป็นเพราะฉันมีตัวกรองอื่น ๆ ฉันใหม่มากกับ AngularJS :( ซอลองและไม่ทำงานของฉันอยู่ที่นี่http://jsfiddle.net/ed9A2/20/ สำเนาวางรหัสที่ไม่ทำงานของฉันอยู่ที่นี่ ดู <div ng-app ng-controller="MainController"> <table class="fancyTable"> <tr> <th>Player id</th> <th>Player name</th> <th>Age</th> </tr> <tr> <td><input ng-model="player_id" /></td> <td><input ng-model="player_name" /></td> <td> Min Age:<input ng-model="min_age" /> Max Age:<input …

5
ควรใช้ Github เป็น CDN สำหรับไลบรารี javascript หรือไม่ [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา การให้บริการไลบรารี javascript จาก CDN แทนที่จะเป็นเซิร์ฟเวอร์ของคุณเองนั้นมาพร้อมกับข้อดีมากมาย ทำงานน้อยลงสำหรับเซิร์ฟเวอร์ของคุณมีความเป็นไปได้ที่ CDN จะมีสำเนาใกล้ชิดกับผู้ใช้มากกว่าเซิร์ฟเวอร์ของคุณ แต่ที่สำคัญที่สุดคือโอกาสที่ดีที่เบราว์เซอร์ของผู้ใช้ของคุณจะมีแคชจาก URL นั้นอยู่แล้ว ข้อสุดท้ายหมายถึงการทำงานโดยรวมน้อยลงสำหรับทุกคนดังนั้นจึงเป็นการชนะอย่างชัดเจนและมีแนวโน้มว่าบ่อยครั้งที่เรา (นักพัฒนาซอฟต์แวร์) พึ่งพา CDN เพื่อให้บริการจาวาสคริปต์ของเรา แต่จาวาสคริปต์ CDN ที่เป็นที่นิยม (Google, Microsoft, อื่น ๆ ?) จะโฮสต์ไฟล์เพียงเล็กน้อยเท่านั้น สำหรับคนอื่น ๆ เรามีทางเลือกในการโฮสต์พวกเขาเองหรือ ... โดยใช้เซิร์ฟเวอร์ควบคุมต้นทางเป็น CDN ชนิดหนึ่ง Github หรือสิ่งที่คล้ายกันนั้นไม่น่าจะมีแคชของไฟล์ที่กระจายทางภูมิศาสตร์ซึ่งเหมาะสำหรับการให้บริการทั่วโลก แต่ถ้าเป็นเรื่องธรรมดาก็มีโอกาสดีที่เบราว์เซอร์ของผู้ใช้จะแคชไว้ ข้อโต้แย้งของการปิดการโหลดงานจากเซิร์ฟเวอร์ของเราไปยัง github จะใช้ได้ก็ต่อเมื่อ Github เต็มใจที่จะอาสาทำ เป็นเรื่องธรรมดาหรือไม่? เราควรสนับสนุนให้กันและกันทำสิ่งนี้หรือไม่? …

4
จะสร้างเทมเพลตโครงสร้าง If-Else ในมุมมองที่มีขอบเขตข้อมูลได้อย่างไร
ฉันพบว่าตัวเองใช้สำนวนนี้ในเทมเพลต HTML ที่ใช้ KO อยู่ตลอดเวลา: <!-- ko if: isEdit --> <td><input type="text" name="email" data-bind="value: email" /></td> <!-- /ko --> <!-- ko ifnot: isEdit --> <td data-bind="text: email"></td> <!-- /ko --> มีวิธีที่ดีกว่า / สะอาดกว่าในการทำเงื่อนไขใน KO หรือมีแนวทางที่ดีกว่าการใช้โครงสร้าง if-else แบบเดิมหรือไม่? นอกจากนี้ฉันอยากจะชี้ให้เห็นว่า Internet Explorer (IE 8/9) บางเวอร์ชันไม่ได้แยกวิเคราะห์ตัวอย่างข้างต้นอย่างถูกต้อง โปรดดูคำถาม SO นี้สำหรับข้อมูลเพิ่มเติม สรุปโดยย่อคืออย่าใช้ความคิดเห็น (การผูกเสมือน) ภายในแท็กตารางเพื่อรองรับ IE …

16
การตรวจจับการเปลี่ยนแปลงที่ไม่ได้บันทึก
ฉันมีความต้องการที่จะใช้พรอมต์ "Unsaved Changes" ในแอปพลิเคชัน ASP .Net หากผู้ใช้แก้ไขการควบคุมบนฟอร์มบนเว็บและพยายามที่จะออกไปก่อนที่จะบันทึกข้อความแจ้งควรปรากฏขึ้นเพื่อเตือนว่าพวกเขามีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกและให้ตัวเลือกในการยกเลิกและอยู่ในหน้าปัจจุบัน ข้อความแจ้งไม่ควรปรากฏขึ้นหากผู้ใช้ไม่ได้แตะปุ่มควบคุมใด ๆ ตามหลักการแล้วฉันต้องการใช้สิ่งนี้ใน JavaScript แต่ก่อนที่ฉันจะลงไปสู่เส้นทางการรีดโค้ดของตัวเองมีเฟรมเวิร์กที่มีอยู่หรือรูปแบบการออกแบบที่แนะนำเพื่อให้บรรลุสิ่งนี้หรือไม่ ตามหลักการแล้วฉันต้องการบางสิ่งที่สามารถนำมาใช้ซ้ำในหลาย ๆ หน้าได้โดยมีการเปลี่ยนแปลงน้อย

12
วิธีการแบน ExpandoObject ที่ส่งคืนผ่าน JsonResult ใน asp.net mvc
ฉันชอบในExpandoObjectขณะที่รวบรวมวัตถุไดนามิกฝั่งเซิร์ฟเวอร์ที่รันไทม์ แต่ฉันมีปัญหาในการทำให้สิ่งนี้แบนลงในระหว่างการจัดลำดับ JSON ก่อนอื่นฉันสร้างอินสแตนซ์ของวัตถุ: dynamic expando = new ExpandoObject(); var d = expando as IDictionary<string, object>; expando.Add("SomeProp", SomeValueOrClass); จนถึงตอนนี้ดีมาก ในตัวควบคุม MVC ของฉันฉันต้องการส่งสิ่งนี้เป็น JsonResult ดังนั้นฉันจึงทำสิ่งนี้: return new JsonResult(expando); สิ่งนี้จะทำให้ JSON เป็นอนุกรมตามด้านล่างเพื่อให้เบราว์เซอร์ใช้: [{"Key":"SomeProp", "Value": SomeValueOrClass}] แต่สิ่งที่ฉันต้องการจริงๆคือเห็นสิ่งนี้: {SomeProp: SomeValueOrClass} ฉันรู้ว่าฉันสามารถบรรลุสิ่งนี้ได้ถ้าฉันใช้dynamicแทนExpandoObject- JsonResultสามารถทำให้dynamicคุณสมบัติและค่าเป็นอนุกรมเป็นออบเจ็กต์เดียว (โดยไม่มีธุรกิจคีย์หรือมูลค่า) แต่เหตุผลที่ฉันต้องใช้ExpandoObjectเพราะฉันไม่รู้ทั้งหมด คุณสมบัติที่ฉันต้องการบนอ็อบเจ็กต์จนถึงรันไทม์และเท่าที่ฉันรู้ฉันไม่สามารถเพิ่มคุณสมบัติแบบไดนามิกให้กับ a dynamicโดยไม่ใช้ExpandoObject. ฉันอาจต้องกรองธุรกิจ "คีย์" "มูลค่า" ในจาวาสคริปต์ของฉัน แต่ฉันหวังว่าจะได้ทราบก่อนที่จะส่งไปยังลูกค้า ขอบคุณสำหรับความช่วยเหลือของคุณ!

13
Mongoose.js: ค้นหาผู้ใช้ด้วยค่าชื่อผู้ใช้ LIKE
ฉันต้องการค้นหาผู้ใช้ใน mongoDb โดยมองหาผู้ใช้ที่เรียกว่า value ปัญหาเกี่ยวกับ: username: 'peter' คือฉันไม่พบถ้าชื่อผู้ใช้คือ "Peter" หรือ "PeTER" .. หรืออะไรทำนองนั้น ผมอยากทำเหมือน sql SELECT * FROM users WHERE username LIKE 'peter' หวังว่าพวกคุณจะได้รับสิ่งที่ฉันขอ? ย่อ: 'ค่า LIKE ของฟิลด์' ใน mongoose.js / mongodb

12
bootstrap modal ลบแถบเลื่อน
เมื่อฉันทริกเกอร์มุมมองแบบโมดอลในหน้าของฉันมันจะทำให้แถบเลื่อนหายไป มันเป็นเอฟเฟกต์ที่น่ารำคาญเนื่องจากหน้าพื้นหลังเริ่มเคลื่อนไหวเมื่อโมดอลขยับเข้า / หายไป มีวิธีการรักษาสำหรับผลกระทบนั้นหรือไม่?

4
Webstorm:“ ไม่สามารถแก้ไขไดเร็กทอรี”
สิ่งนี้เริ่มรบกวนฉันและฉันต้องการปิดหรือแก้ไข ดังนั้น Webstorm จึงมีคุณสมบัติที่น่าสนใจในตัวแยกวิเคราะห์ HTML ที่จะพยายามแก้ไขไดเร็กทอรีในสตริงที่ควรอ้างอิงไฟล์ในโปรเจ็กต์ของคุณ ตัวอย่างเช่น: Webstorm ถูกต้อง รหัสปลายด้านหน้าของฉันคือทั้งหมดใน/appแต่เซิร์ฟเวอร์ของฉันให้บริการขึ้นไฟล์ใน app บนรากดังนั้นในบริบทเว็บเป็นจริงเพียง/app /พฤติกรรมนี้ส่งผลกระทบต่อเทมเพลตเชิงมุมของฉันด้วยเช่นกัน: และเส้นทาง angular-ui ของฉัน (ฉันคิดว่ามันน่าจะเป็นเช่นนั้นสำหรับเส้นทางเชิงมุมปกติเช่นกัน) มีวิธีใดบ้างที่ฉันสามารถเปลี่ยนเว็บสตอร์มให้ถือว่า/appเป็นรูทเพื่อให้ฟีเจอร์นี้มีประโยชน์ ถ้าไม่ได้มีวิธีปิดการใช้งานนี้หรือไม่? ฉันพยายามเข้าไปตรวจสอบ แต่ไม่พบตัวเลือกสำหรับมัน: และไม่ใช่ไม่ใช่ XML ... ฉันลองแล้ว ช่วยชื่นชม ขอบคุณ ...

9
การสร้างเงื่อนไขตามสภาพแวดล้อมโดยใช้ Webpack
ฉันมีบางอย่างสำหรับการพัฒนา - เช่นล้อเลียนซึ่งฉันไม่ต้องการขยายไฟล์บิวด์แบบกระจายของฉันด้วย ใน RequireJS คุณสามารถส่งการกำหนดค่าในไฟล์ปลั๊กอินและต้องการสิ่งต่างๆตามเงื่อนไขนั้น สำหรับ webpack ดูเหมือนจะไม่มีวิธีการทำเช่นนี้ ประการแรกในการสร้างการกำหนดค่ารันไทม์สำหรับสภาพแวดล้อมฉันได้ใช้help.aliasเพื่อทำการกำหนดค่าใหม่ขึ้นอยู่กับสภาพแวดล้อมเช่น: // All settings. var all = { fish: 'salmon' }; // `envsettings` is an alias resolved at build time. module.exports = Object.assign(all, require('envsettings')); จากนั้นเมื่อสร้างการกำหนดค่า webpack ฉันสามารถกำหนดได้แบบไดนามิกว่าไฟล์ใดenvsettingsชี้ไปที่ (เช่นwebpackConfig.resolve.alias.envsettings = './' + env) อย่างไรก็ตามฉันต้องการทำสิ่งต่อไปนี้: if (settings.mock) { // Short-circuit ajax calls. // …


9
Javascript: ตัวดำเนินการมากเกินไป
ฉันทำงานกับ JavaScript มาสองสามวันแล้วและมาถึงจุดที่ฉันต้องการโอเวอร์โหลดตัวดำเนินการสำหรับวัตถุที่ฉันกำหนดไว้ หลังจากการ จำกัด Google ในการค้นหาสิ่งนี้ดูเหมือนว่าคุณไม่สามารถทำสิ่งนี้ได้อย่างเป็นทางการ แต่ก็มีคนไม่กี่คนที่อ้างว่าวิธีการดำเนินการนี้ที่ยืดเยื้อมานาน โดยพื้นฐานแล้วฉันสร้างคลาส Vector2 และต้องการทำสิ่งต่อไปนี้: var x = new Vector2(10,10); var y = new Vector2(10,10); x += y; //This does not result in x being a vector with 20,20 as its x & y values. แต่ฉันต้องทำสิ่งนี้: var x = new Vector2(10,10); var y = …

8
จะย้าย iFrame ใน DOM โดยไม่สูญเสียสถานะได้อย่างไร
ดู HTML ง่ายๆนี้: <div id="wrap1"> <iframe id="iframe1"></iframe> </div> <div id="warp2"> <iframe id="iframe2"></iframe> </div> สมมติว่าฉันต้องการย้ายการห่อเพื่อให้#wrap2อยู่ก่อนหน้า#wrap1. iframe ถูกทำให้เสียโดย JavaScript ฉันตระหนักถึง jQuery .insertAfter()และ.insertBefore(). อย่างไรก็ตามเมื่อฉันใช้สิ่งเหล่านี้ iFrame จะสูญเสียตัวแปร HTML และ JavaScript และเหตุการณ์ทั้งหมด ให้บอกว่าต่อไปนี้เป็น HTML ของ iFrame: <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> // The variable below would change on click // This represents changes …

5
จะเริ่มเหตุการณ์เมื่อโมเดล v เปลี่ยนไปได้อย่างไร?
ฉันกำลังพยายามเริ่มการfoo()ทำงานของฟังก์ชันด้วย@clickแต่อย่างที่คุณเห็นต้องกดปุ่มตัวเลือกสองครั้งเพื่อเริ่มต้นเหตุการณ์อย่างถูกต้อง จับค่าในครั้งที่สองที่กดเท่านั้น ... ฉันต้องการเริ่มต้นกิจกรรมโดยไม่@clickเพียง แต่เริ่มการทำงานของเหตุการณ์เมื่อv-model(srStatus) เปลี่ยนแปลง นี่คือซอของฉัน: http://fiddle.jshell.net/wanxe/vsa46bw8/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.