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

ใช้สำหรับคำถามเกี่ยวกับ AngularJS (1.x), เฟรมเวิร์ก JavaScript แบบโอเพ่นซอร์ส อย่าใช้แท็กนี้สำหรับ Angular 2 หรือใหม่กว่า; ใช้แท็ก [angular] แทน

15
“ คิดใน AngularJS” ถ้าฉันมีพื้นหลัง jQuery [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน4 ปีที่แล้ว ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สมมติว่าฉันคุ้นเคยกับการพัฒนาโปรแกรมประยุกต์ฝั่งไคลเอ็นต์ในjQueryแต่ตอนนี้ผมอยากจะเริ่มต้นใช้AngularJS คุณสามารถอธิบายการเปลี่ยนกระบวนทัศน์ที่จำเป็นได้หรือไม่? ต่อไปนี้เป็นคำถามสองสามข้อที่อาจช่วยคุณกำหนดกรอบคำตอบ: ฉันจะออกแบบและออกแบบเว็บแอปพลิเคชันฝั่งไคลเอ็นต์ได้อย่างไร ความแตกต่างที่ใหญ่ที่สุดคืออะไร? ฉันควรหยุดทำอะไร / ใช้ ฉันควรเริ่มทำ / ใช้อะไรแทน มีข้อควรพิจารณา / ข้อ จำกัด ด้านเซิร์ฟเวอร์หรือไม่? ผมไม่ได้มองหาการเปรียบเทียบรายละเอียดระหว่างและjQueryAngularJS


14
การผูกข้อมูลทำงานใน AngularJS อย่างไร
การผูกข้อมูลทำงานในAngularJSกรอบงานอย่างไร ฉันยังไม่พบรายละเอียดทางเทคนิคบนเว็บไซต์ของพวกเขา มันชัดเจนมากขึ้นหรือน้อยลงว่ามันทำงานอย่างไรเมื่อมีการเผยแพร่ข้อมูลจากมุมมองไปยังโมเดล แต่ AngularJS ติดตามการเปลี่ยนแปลงคุณสมบัติของโมเดลโดยไม่มี setters และ getters อย่างไร ฉันพบว่ามีผู้ดู JavaScriptที่สามารถใช้งานได้ แต่พวกเขายังไม่ได้รับการสนับสนุนในInternet Explorer 6และInternet Explorer 7 ดังนั้น AngularJS รู้ได้อย่างไรว่าฉันเปลี่ยนตัวอย่างต่อไปนี้และสะท้อนการเปลี่ยนแปลงนี้ในมุมมอง myobject.myproperty="new value";

19
ฉันจะเข้าถึงตัวแปร $ scope ในคอนโซลของเบราว์เซอร์โดยใช้ AngularJS ได้อย่างไร
ฉันต้องการเข้าถึง$scopeตัวแปรของฉันในคอนโซล JavaScript ของ Chrome ฉันจะทำอย่างไร ฉันไม่สามารถมองเห็น$scopeหรือชื่อของโมดูลmyappในคอนโซลเป็นตัวแปร

22
วิธีที่ดีที่สุดในการสมัครเรียนแบบมีเงื่อนไขคืออะไร?
ช่วยบอกว่าคุณมีอาร์เรย์ที่แสดงผลในulมีสระสำหรับแต่ละองค์ประกอบและคุณสมบัติในตัวควบคุมที่เรียกว่าli selectedIndexอะไรจะเป็นวิธีที่ดีที่สุดในการเพิ่มคลาสเข้าliกับดัชนีselectedIndexใน AngularJS ขณะนี้ฉันกำลังทำสำเนา (ด้วยมือ) liโค้ดและเพิ่มคลาสให้กับหนึ่งในliแท็กและใช้ng-showและng-hideเพื่อแสดงเพียงหนึ่งรายการliต่อดัชนี
1183 css  angularjs 

6
ฉันจะใช้ $ scope $ เฝ้าดูและ $ scope $ นำไปใช้ใน AngularJS ได้อย่างไร
ฉันไม่เข้าใจวิธีการใช้งานและ$scope.$watch $scope.$applyเอกสารทางการไม่เป็นประโยชน์ สิ่งที่ฉันไม่เข้าใจเป็นพิเศษ: พวกเขาเชื่อมต่อกับ DOM หรือไม่? ฉันจะอัปเดตการเปลี่ยนแปลง DOM เป็นโมเดลได้อย่างไร จุดเชื่อมต่อระหว่างพวกเขาคืออะไร? ฉันพยายามกวดวิชานี้แต่มันต้องใช้ความเข้าใจของ$watchและ$applyให้ได้รับ ทำอะไร$applyและ$watchทำอย่างไรและฉันจะใช้อย่างเหมาะสมได้อย่างไร

15
ความแตกต่างระหว่างแองกูลาร์ - รูทและแองกูลาร์ - UI-router คืออะไร?
ฉันวางแผนที่จะใช้AngularJSในแอปพลิเคชันขนาดใหญ่ของฉัน ดังนั้นฉันจึงอยู่ในขั้นตอนหาโมดูลที่เหมาะสมที่จะใช้ ความแตกต่างระหว่างโมดูล ngRoute (angular-route.js)และui-router (angular-ui-router.js)คืออะไร? ในหลายบทความเมื่อngRouteจะใช้เส้นทางที่ถูกกำหนดค่าด้วย$ routeProvider แต่เมื่อนำมาใช้กับUI เตอร์เส้นทางการกำหนดค่ากับ$ stateProvider และ $ ฉันควรใช้โมดูลใดเพื่อความสามารถในการจัดการและการขยายที่ดีขึ้น

18
อะไรคือความแตกต่างระหว่าง '@' และ '=' ในขอบเขตคำสั่งใน AngularJS?
ฉันได้อ่านเอกสารของAngularJSในหัวข้ออย่างระมัดระวังแล้วเล่นกับคำสั่ง นี่คือไวโอลิน และนี่คือตัวอย่างบางส่วนที่เกี่ยวข้อง: จากHTML : <pane bi-title="title" title="{{title}}">{{text}}</pane> จากคำสั่งบานหน้าต่าง: scope: { biTitle: '=', title: '@', bar: '=' }, มีหลายสิ่งที่ฉันไม่ได้รับ: ทำไมฉันต้องใช้"{{title}}"กับ'@'และ"title"กับ'='? ฉันสามารถเข้าถึงขอบเขตพาเรนต์โดยตรงได้หรือไม่โดยไม่ต้องตกแต่งองค์ประกอบด้วยแอตทริบิวต์ เอกสารอธิบายว่า"บ่อยครั้งที่ต้องการส่งข้อมูลจากขอบเขตแยกผ่านการแสดงออกและขอบเขตหลัก"แต่ดูเหมือนว่าจะทำงานได้ดีกับการเชื่อมโยงสองทิศทางเช่นกัน ทำไมเส้นทางนิพจน์ถึงดีกว่า ฉันพบซออื่นที่แสดงวิธีแก้ปัญหาการแสดงออกเช่นกัน: http://jsfiddle.net/maxisam/QrCXh/

9
เชิงมุมเทียบกับเชิงมุมโรงงาน
ฉันเห็นทั้งangular.factory ()และangular.service ()เคยประกาศบริการ อย่างไรก็ตามฉันไม่พบ angular.serviceที่ใดก็ได้ในเอกสารอย่างเป็นทางการ ความแตกต่างระหว่างสองวิธีคืออะไร? ควรใช้สิ่งใด (สมมติว่าพวกเขาทำสิ่งต่าง ๆ )

3
ความแตกต่างของขอบเขตมรดกต้นแบบ / ต้นแบบใน AngularJS คืออะไร?
อ้างอิง API หน้าขอบเขตพูดว่า: ขอบเขตสามารถสืบทอดจากขอบเขตพาเรนต์ ผู้พัฒนาคู่มือหน้าขอบเขตพูดว่า: ขอบเขต (ต้นแบบ) สืบทอดคุณสมบัติจากขอบเขตพาเรนต์ ดังนั้นขอบเขตของลูกจะสืบทอดต้นแบบจากขอบเขตหลักเสมอหรือไม่? มีข้อยกเว้นหรือไม่ เมื่อมันรับช่วงมันจะสืบทอดมรดกต้นแบบ JavaScript ปกติหรือไม่

7
'this' vs $ scope ในตัวควบคุม AngularJS
ในส่วน"สร้างส่วนประกอบ" ในหน้าแรกของ AngularJSมีตัวอย่างนี้: controller: function($scope, $element) { var panes = $scope.panes = []; $scope.select = function(pane) { angular.forEach(panes, function(pane) { pane.selected = false; }); pane.selected = true; } this.addPane = function(pane) { if (panes.length == 0) $scope.select(pane); panes.push(pane); } } แจ้งให้ทราบว่าselectวิธีการที่จะถูกเพิ่ม$scopeแต่วิธีการที่จะถูกเพิ่มaddPane thisหากฉันเปลี่ยน$scope.addPaneเป็นรหัสจะแตก เอกสารบอกว่าจริงๆแล้วมีความแตกต่าง แต่ไม่ได้พูดถึงความแตกต่าง: รุ่นก่อนหน้าของ Angular (pre 1.0 RC) อนุญาตให้คุณใช้วิธีการthisสลับแทนกันได้$scopeแต่นี่ไม่ใช่กรณีอีกต่อไป …

12
การทำงานกับ $ scope $ emit และ $ scope $ on
ฉันจะส่ง$scopeวัตถุของฉันจากคอนโทรลเลอร์หนึ่งไปยังอีกที่ใช้.$emitและ.$onวิธีการได้อย่างไร function firstCtrl($scope) { $scope.$emit('someEvent', [1,2,3]); } function secondCtrl($scope) { $scope.$on('someEvent', function(mass) { console.log(mass); }); } มันไม่ทำงานอย่างที่ฉันคิดว่ามันควรจะเป็น วิธีการทำ$emitและการ$onทำงานหรือไม่

28
AngularJS: ป้องกันข้อผิดพลาดในการแยกย่อย $ ที่กำลังดำเนินอยู่เมื่อมีการโทรขอบเขต $ $ ใช้ ()
ฉันพบว่าฉันต้องอัปเดตหน้าเว็บของฉันเป็นขอบเขตด้วยตนเองมากขึ้นเรื่อย ๆ นับตั้งแต่สร้างแอปพลิเคชันเป็นมุม วิธีเดียวที่ฉันรู้ในการทำเช่นนี้คือโทร$apply()จากขอบเขตของตัวควบคุมและคำสั่งของฉัน ปัญหาเกี่ยวกับสิ่งนี้คือมันยังคงทิ้งข้อผิดพลาดไปยังคอนโซลที่อ่าน: ข้อผิดพลาด: กำลังสรุป $ กำลังดำเนินการอยู่ ไม่มีใครรู้วิธีหลีกเลี่ยงข้อผิดพลาดนี้หรือทำสิ่งเดียวกัน แต่แตกต่างกัน?

18
แทรก HTML ลงในมุมมองจากคอนโทรลเลอร์ AngularJS
มันเป็นไปได้ที่จะสร้างHTMLส่วนในการควบคุม AngularJS และมี HTML นี้แสดงให้เห็นในมุมมอง? สิ่งนี้มาจากข้อกำหนดในการเปลี่ยนหยด JSON ที่ไม่สอดคล้องกันให้เป็นรายการid: valueคู่ที่ซ้อนกัน ดังนั้นHTMLจะถูกสร้างขึ้นในคอนโทรลเลอร์และตอนนี้ฉันต้องการแสดงมัน ผมได้สร้างสถานที่ให้บริการรูปแบบ แต่ไม่สามารถแสดงผลนี้ในมุมมองโดยไม่ได้เพียงแค่พิมพ์HTML ปรับปรุง ปรากฏว่าปัญหาเกิดขึ้นจากการแสดงผลเชิงมุม HTML ที่สร้างขึ้นเป็นสตริงภายในเครื่องหมายคำพูด จะพยายามหาวิธีแก้ไขปัญหานี้ ตัวควบคุมตัวอย่าง: var SomeController = function () { this.customHtml = '<ul><li>render me please</li></ul>'; } มุมมองตัวอย่าง: <div ng:bind="customHtml"></div> ให้: <div> "<ul><li>render me please</li></ul>" </div>

30
วิธีตั้งค่าโฟกัสบนฟิลด์อินพุต
'วิธีเชิงมุม' เพื่อกำหนดโฟกัสไปที่ฟิลด์อินพุตใน AngularJS คืออะไร ข้อกำหนดเฉพาะเพิ่มเติม: เมื่อModalเปิดขึ้นให้ตั้งค่าโฟกัสที่กำหนดไว้ล่วงหน้า<input>ภายใน Modal นี้ ทุกครั้งที่<input>มองเห็นได้ (เช่นโดยคลิกปุ่มบางปุ่ม) ตั้งโฟกัสไว้ ฉันพยายามทำตามข้อกำหนดแรกด้วยautofocusแต่วิธีนี้จะใช้ได้เฉพาะเมื่อ Modal เปิดขึ้นเป็นครั้งแรกและเฉพาะในเบราว์เซอร์บางตัวเท่านั้น (เช่นใน Firefox จะไม่ทำงาน) ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.

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