คำถามติดแท็ก backbone.js

Backbone.js เป็นเฟรมเวิร์ก JavaScript ที่มีอินเทอร์เฟซ RESTful JSON และอิงตามกระบวนทัศน์การออกแบบแอปพลิเคชัน model – view – Presenter (MVP)

7
คำอธิบายของ <script type =“ text / template”> … </script>
ฉันสะดุดสิ่งที่ฉันไม่เคยเห็นมาก่อน ในแหล่งที่มาของแอปพลิเคชันตัวอย่างของ Backbone.js ( ตัวอย่างแบ็กโบน TODO ) พวกเขามีเทมเพลตอยู่ภายใน&lt;script type = "text/template"&gt;&lt;/script&gt;ซึ่งมีรหัสที่ดูเหมือน PHP แต่มีแท็ก JavaScript มีคนอธิบายเรื่องนี้กับฉันได้ไหม ถูกกฎหมายหรือไม่

15
จุดประสงค์ของ backbone.js คืออะไร?
ฉันพยายามที่จะทำความเข้าใจกับยูทิลิตี้ของ backbone.js จากเว็บไซต์ของhttp://documentcloud.github.com/backboneแต่ฉันยังไม่สามารถเข้าใจได้มากนัก ใครช่วยฉันได้โดยอธิบายว่ามันทำงานอย่างไรและมีประโยชน์ในการเขียน JavaScript ที่ดีขึ้นได้อย่างไร

21
JavaScript console.log ทำให้เกิดข้อผิดพลาด:“ Synchronous XMLHttpRequest บนเธรดหลักเลิกใช้แล้ว…”
ฉันเพิ่มบันทึกลงในคอนโซลเพื่อตรวจสอบสถานะของตัวแปรที่แตกต่างกันโดยไม่ต้องใช้ตัวดีบัก Firefox อย่างไรก็ตามในหลาย ๆ ที่ที่ฉันเพิ่มconsole.logในmain.jsไฟล์ของฉันฉันได้รับข้อผิดพลาดต่อไปนี้แทนที่จะเป็นข้อความที่เขียนด้วยลายมือที่น่ารักของฉัน: XMLHttpRequest แบบซิงโครนัสบนเธรดหลักถูกคัดค้านเนื่องจากลักษณะพิเศษที่เป็นอันตรายต่อประสบการณ์ของผู้ใช้ สำหรับความช่วยเหลือเพิ่มเติมhttp://xhr.spec.whatwg.org/ console.logฉันสามารถเพิ่มทางเลือกอื่นในการใช้โปรแกรมเสริมหรือห่อหุ้มซึ่งจะไม่ทำให้เกิดข้อผิดพลาดนี้หรือไม่? ฉัน "ทำผิด" หรือเปล่า?

18
แยกเซิร์ฟเวอร์และไคลเอ็นต์ REST JSON API หรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังจะสร้างแอปพลิเคชันบนเว็บเป็นจำนวนมากตั้งแต่เริ่มต้น (ดูhttp://50pop.com/codeเพื่อดูภาพรวม) ฉันต้องการให้พวกเขาสามารถเข้าถึงได้จากไคลเอนต์ที่แตกต่างกันมากมาย: เว็บไซต์ส่วนหน้าแอพสมาร์ทโฟนสมาร์ทโฟนบริการเว็บแบ็คเอนด์ ฯลฯ ดังนั้นฉันต้องการ JSON REST API สำหรับแต่ละรายการ นอกจากนี้ฉันชอบทำงานกับส่วนแบ็คเอนด์ดังนั้นฉันจึงฝันว่าฉันจะยังคงมุ่งเน้นไปที่ API และจ้างคนอื่นเพื่อสร้าง UI ส่วนหน้าไม่ว่าจะเป็นเว็บไซต์ iPhone, Android หรือแอปอื่น ๆ โปรดช่วยฉันตัดสินใจด้วยว่าฉันควรใช้วิธีใด: รวมกันในรถไฟ สร้างเว็บแอพ Rails ที่ได้มาตรฐานมาก ๆ ในคอนโทรลเลอร์ให้ทำสวิตช์ตอบกลับเพื่อให้บริการ JSON หรือ HTML การตอบสนอง JSON นั้นเป็น API ของฉัน Pro:แบบอย่างมากมาย มาตรฐานที่ยอดเยี่ยมและตัวอย่างมากมายในการทำสิ่งนี้ คอนดิชั่น:ไม่จำเป็นต้องให้ API เหมือนกับแอพเว็บ ไม่ชอบ if / then …

1
อะไรคือความแตกต่างที่สำคัญระหว่าง Meteor, Ember.js และ Backbone.js [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม &amp; คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา การเรียนรู้ Ember.js / Backbone.js อยู่ในรายการที่ต้องทำของฉันมาระยะหนึ่งแล้ว ตอนนี้Meteorออกไปแล้วฉันแค่สงสัยว่าใครที่มีประสบการณ์เกี่ยวกับ Meteor, Ember.js และ Backbone.js สามารถสรุปความแตกต่างที่สำคัญข้อดีข้อเสียของกรอบ JavaScript ทั้งสามนี้สำหรับบุคคลที่ไม่มีประสบการณ์ใด ๆ เลย โดยเฉพาะฉันอยากจะรู้ว่าภารกิจใดที่แต่ละเฟรมเวิร์กเหมาะกว่าและทำไมคนอื่นถึงไม่ทำงาน แก้ไข: ตอนนี้ฉันอ่าน Meteor เพิ่มเติมเล็กน้อยดูเหมือนว่าจะคล้ายกับ Knockout.js มากกว่า Backbone.js ดังนั้นการเปรียบเทียบกับ Knockout.js ก็ยินดีเช่นกัน

8
วิธีการใช้ถ้าคำสั่งในแม่แบบ underscore.js?
ฉันใช้ฟังก์ชัน underscore.js templating และได้ทำเทมเพลตเช่นนี้: &lt;script type="text/template" id="gridItem"&gt; &lt;div class="griditem &lt;%= gridType %&gt; &lt;%= gridSize %&gt;"&gt; &lt;img src="&lt;%= image %&gt;" /&gt; &lt;div class="content"&gt; &lt;span class="subheading"&gt;&lt;%= categoryName %&gt;&lt;/span&gt; &lt;% if (date) { %&gt;&lt;span class="date"&gt;&lt;%= date %&gt;&lt;/span&gt;&lt;% } %&gt; &lt;h2&gt;&lt;%= title %&gt;&lt;/h2&gt; &lt;/div&gt; &lt;/div&gt; &lt;/script&gt; อย่างที่คุณเห็นฉันมีคำสั่ง if ในนั้นเพราะโมเดลของฉันทั้งหมดไม่มีพารามิเตอร์วันที่ date is not definedอย่างไรก็ตามวิธีการทำเช่นนี้มันทำให้ผมมีข้อผิดพลาด ดังนั้นฉันจะทำอย่างไรถ้าข้อความภายในเทมเพลต?

7
วิธีจัดการกับการเริ่มต้นและเรนเดอร์การแสดงตัวอย่างใน Backbone.js?
ฉันมีสามวิธีที่แตกต่างกันในการเริ่มต้นและแสดงมุมมองและมุมมองย่อยและแต่ละวิธีมีปัญหาแตกต่างกัน ฉันอยากรู้ว่ามีวิธีที่ดีกว่าในการแก้ปัญหาทั้งหมดหรือไม่: สถานการณ์สมมติที่หนึ่ง: เริ่มต้นเด็ก ๆ ในฟังก์ชั่นเริ่มต้นของผู้ปกครอง วิธีนี้ไม่ใช่ทุกอย่างติดค้างอยู่ในการเรนเดอร์เพื่อให้มีการบล็อกน้อยลงในการเรนเดอร์ initialize : function () { //parent init stuff this.child = new Child(); }, render : function () { this.$el.html(this.template()); this.child.render().appendTo(this.$('.container-placeholder'); } ปัญหา: ปัญหาที่ใหญ่ที่สุดคือการเรียกใช้เรนเดอร์บนพาเรนต์เป็นครั้งที่สองจะเป็นการลบการเชื่อมโยงเหตุการณ์ของ childs ทั้งหมด (นี่เป็นเพราะวิธีการ$.html()ทำงานของ jQuery ) สิ่งนี้สามารถบรรเทาได้ด้วยการโทรthis.child.delegateEvents().render().appendTo(this.$el);แทน แต่หลังจากนั้นเป็นกรณีแรกและบ่อยที่สุดคุณกำลังทำงานมากขึ้นโดยไม่จำเป็น ด้วยการต่อท้ายลูกคุณบังคับให้ฟังก์ชันการเรนเดอร์มีความรู้เกี่ยวกับโครงสร้าง DOM ของผู้ปกครองเพื่อให้คุณได้รับการจัดลำดับที่คุณต้องการ ซึ่งหมายถึงการเปลี่ยนเทมเพลตอาจต้องการการปรับปรุงฟังก์ชั่นการแสดงผลของมุมมอง สถานการณ์ที่สอง: เตรียมใช้งานเด็ก ๆ ในinitialize()ภาพนิ่งของผู้ปกครองแต่แทนที่จะผนวกไว้ใช้setElement().delegateEvents()เพื่อตั้งค่าเด็กเป็นองค์ประกอบในแม่แบบผู้ปกครอง initialize : function () { …

5
อะไรคือจุดแข็งและจุดอ่อนในโลกแห่งความเป็นจริงของกรอบงานหลาย ๆ แบบบนพื้นฐานของ backbone.js? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ หวังว่าบางคนสามารถแบ่งปันประสบการณ์กับ backbone.js ล่าสุดที่ออกใหม่บางรุ่นได้ ฉันมีประสบการณ์ที่ดีกับแบ็คโบน / ขีดล่าง / จำเป็นในหลายโครงการและฉันอยากจะใช้ขั้นตอนต่อไปเพื่อแก้ปัญหาขั้นสูงสำหรับโครงสร้างแอปพลิเคชันที่ซับซ้อน ฉันรู้ว่ามีกรอบงานดังต่อไปนี้: หุ่นเชิด Geppetto (อิงจากหุ่นกระบอก) แชปลิน , แชปลิน - แชปลิน-สำเร็จรูป สัตว์มีกระดูกสันหลัง LayoutManager ทรวงอก กลิ่นอาย Luca Singool backstack Backbone UI ซากเรือเก่า ๆ BTW - จุดเริ่มต้นที่ยอดเยี่ยมสำหรับโครงการขนาดใหญ่ และบางทีฉันอาจพลาดบางอย่าง มีการแนะนำสั้น ๆ เกี่ยวกับความแตกต่างที่นี่: ลิงก์พูดคุยของ speakerdeck แต่มันธรรมดามาก ฉันสงสัยว่าใครบางคนสามารถแบ่งปันประสบการณ์กับแอปพลิเคชันในชีวิตจริงโดยใช้กรอบการทำงานเหล่านี้ อะไรคือประโยชน์ของการเลือกอันใดอันหนึ่ง? หุ่นกระบอกจะเป็นทางออกที่ดีกว่าแชปลินหรือทำไม vetebrae …

5
การผูกสองทางคืออะไร
ฉันได้อ่านล็อตที่ Backbone ไม่ได้ผูกมัดสองทาง แต่ฉันไม่เข้าใจแนวคิดนี้อย่างแน่นอน ใครบางคนสามารถให้ฉันตัวอย่างของวิธีการผูกสองวิธีทำงานในรหัสฐาน MVC และวิธีที่ไม่ได้กับ Backbone?

6
กำลังโหลด Backbone และ Underscore โดยใช้ RequireJS
ฉันกำลังพยายามโหลด Backbone และ Underscore (รวมถึง jQuery) ด้วย RequireJS ด้วย Backbone และ Underscore เวอร์ชันล่าสุดดูเหมือนว่าจะยุ่งยาก สำหรับอันเดอร์ Underscore จะลงทะเบียนตัวเองโดยอัตโนมัติในฐานะโมดูล แต่ Backbone ถือว่า Underscore นั้นสามารถใช้ได้ทั่วโลก ฉันควรทราบด้วยว่า Backbone ดูเหมือนจะไม่ลงทะเบียนตัวเองเป็นโมดูลซึ่งทำให้มันไม่สอดคล้องกับ libs อื่น ๆ นี่คือ main.js ที่ดีที่สุดที่ฉันสามารถคิดได้: require( { paths: { 'backbone': 'libs/backbone/backbone-require', 'templates': '../templates' } }, [ // jQuery registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7/jquery.min.js', // …

8
การค้นหาหน่วยความจำ JavaScript รั่วไหลด้วย Chrome
ฉันได้สร้างกรณีทดสอบง่ายๆที่สร้างมุมมอง Backbone แนบตัวจัดการกับเหตุการณ์และสร้างคลาสที่ผู้ใช้กำหนดเอง ฉันเชื่อว่าด้วยการคลิกปุ่ม "ลบ" ในตัวอย่างนี้ทุกอย่างจะถูกล้างและไม่ควรมีหน่วยความจำรั่ว jsfiddle สำหรับโค้ดอยู่ที่นี่: http://jsfiddle.net/4QhR2/ // scope everything to a function function main() { function MyWrapper() { this.element = null; } MyWrapper.prototype.set = function(elem) { this.element = elem; } MyWrapper.prototype.get = function() { return this.element; } var MyView = Backbone.View.extend({ tagName : "div", id : "view", …


4
Backbone.js ดึงข้อมูลด้วยพารามิเตอร์
ตามเอกสารฉันทำ: var collection = new Backbone.Collection.extend({ model: ItemModel, url: '/Items' }) collection.fetch({ data: { page: 1} }); URL กลายเป็น: http://localhost:1273/Items?[object%20Object] ฉันคาดหวังบางอย่างเช่น http://localhost:1273/Items?page=1 ดังนั้นฉันจะส่ง params ในวิธีการดึงข้อมูลได้อย่างไร

1
Angular.js vs Knockout.js vs Backbone.js [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังพิจารณาที่จะใช้สิ่งที่น่าพิศวงหรือเชิงมุมหรือ Backbone สำหรับโครงการส่วนบุคคลของฉัน ฉันต้องสร้างการโต้ตอบฝั่งไคลเอ็นต์ที่ใหญ่กว่าและใช้งานได้นานขึ้นเพื่อไปกับเนื้อหาฝั่งเซิร์ฟเวอร์ของฉัน ฉันต้องการวิธีที่ง่ายและมีประสิทธิภาพในการจัดการส่วนต่อประสานผู้ใช้ที่ขับเคลื่อนด้วยข้อมูล กรอบไหนที่คุณจะเลือกที่จะแก้ปัญหาที่อธิบายไว้ข้างต้นโดยพิจารณาจากความเป็นไปได้และด้านประสิทธิภาพ

3
วิธีการแทนที่ Backbone.sync
ฉันพยายามออก Backbone.js และหนึ่งในสิ่งที่ฉันพยายามที่จะทำให้การเรียกร้องให้ API ที่ระยะไกลดังนั้นฉันจะต้องสามารถที่จะแทนที่ Backbone.sync ที่ผมเข้าใจเอกสาร ไม่มีตัวอย่างของวิธีการทำเช่นนั้นในเอกสารประกอบเองและดูเหมือนจะไม่เป็นกลุ่ม google สำหรับ Backbone ... ใครบางคนสามารถชี้ให้เห็นตัวอย่างสำหรับการทำเช่นนี้?

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