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

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

4
$ location / การสลับระหว่าง html5 และ hashbang mode / link rewriting
ฉันรู้สึกว่า Angular จะเขียน URL ที่ปรากฏในแอตทริบิวต์ href ของ anchor tags ภายใน tempaltes เพื่อให้ทำงานได้ไม่ว่าจะอยู่ในโหมด html5 หรือโหมด hashbang เอกสารสำหรับการให้บริการสถานที่ดูเหมือนว่าจะบอกว่า HTML การเชื่อมโยงการเขียนใหม่จะดูแลสถานการณ์ hashbang ฉันคาดหวังว่าเมื่อไม่ได้อยู่ในโหมด HTML5 จะมีการแทรกแฮชและในโหมด HTML5 พวกเขาจะไม่ อย่างไรก็ตามดูเหมือนว่าไม่มีการเขียนใหม่เกิดขึ้น ตัวอย่างต่อไปนี้ไม่อนุญาตให้ฉันเพียงแค่เปลี่ยนโหมด ลิงก์ทั้งหมดในแอปพลิเคชันจะต้องเขียนใหม่ด้วยมือ (หรือได้มาจากตัวแปรตอนรันไทม์ฉันต้องเขียน URL ทั้งหมดด้วยตนเองขึ้นอยู่กับโหมดหรือไม่? ฉันไม่เห็นการเขียน url ฝั่งไคลเอ็นต์ที่เกิดขึ้นใน Angular 1.0.6, 1.1.4 หรือ 1.1.3 ดูเหมือนว่าค่า href ทั้งหมดจะต้องได้รับการเติมด้วย # / สำหรับโหมด hashbang และ / สำหรับโหมด html5 จำเป็นต้องกำหนดค่าบางอย่างเพื่อทำให้เกิดการเขียนใหม่หรือไม่? …

9
การเรียกซ้ำในคำสั่งเชิงมุม
มีคำถามเกี่ยวกับการทำมุมคำสั่งแบบเรียกซ้ำซึ่งเป็นที่นิยมซึ่งมีทั้งหมดหนึ่งคำตอบต่อไปนี้: 'คอมไพล์' HTML แบบเพิ่มหน่วยด้วยตนเองตามสถานะขอบเขตรันไทม์ ตัวอย่าง 1 [ stackoverflow ] ตัวอย่างที่ 2 [ หน้าเชิงมุม jsfiddles ] อย่าใช้คำสั่งเลย แต่เป็นเทมเพลต <script> ที่อ้างถึงตัวมันเอง ตัวอย่าง 1 [ กลุ่ม google ] คนแรกมีปัญหาที่คุณไม่สามารถลบรหัสที่รวบรวมไว้ก่อนหน้านี้เว้นแต่ว่าคุณจะจัดการกระบวนการรวบรวมด้วยตนเองอย่างละเอียด แนวทางที่สองมีปัญหาว่า ... ไม่ใช่คำสั่งและขาดความสามารถอันทรงพลัง แต่ยิ่งเร่งด่วนมันไม่สามารถกำหนดพารามิเตอร์แบบเดียวกับที่คำสั่งนั้นสามารถทำได้ มันเพิ่งถูกผูกไว้กับอินสแตนซ์ตัวควบคุมใหม่ ฉันได้เล่นกับการทำงานด้วยตนเองangular.bootstrapหรือ@compile()ในฟังก์ชั่นการเชื่อมโยง แต่นั่นทำให้ฉันมีปัญหาในการติดตามองค์ประกอบด้วยตนเองเพื่อลบและเพิ่ม มีวิธีที่ดีที่จะมีรูปแบบแบบเรียกซ้ำพารามิเตอร์ที่จัดการการเพิ่ม / ลบองค์ประกอบเพื่อสะท้อนสถานะ runtime หรือไม่? กล่าวคือต้นไม้ที่มีปุ่มเพิ่ม / ลบโหนดและฟิลด์อินพุตบางฟิลด์ที่ค่าถูกส่งผ่านโหนดชายด์ของโหนด อาจเป็นการรวมกันของแนวทางที่สองเข้ากับขอบเขตที่ถูกล่ามโซ่ (แต่ฉันไม่รู้ว่าจะทำอย่างไร)

5
แสดงป๊อปอัปด้วยวิธีที่หรูหราที่สุด
ฉันมีแอพ AngularJS นี้ ทุกอย่างใช้ได้ดี ตอนนี้ฉันต้องแสดงป๊อปอัปที่แตกต่างกันเมื่อเงื่อนไขเฉพาะกลายเป็นจริงและฉันสงสัยว่าอะไรจะเป็นวิธีที่ดีที่สุดในการดำเนินการต่อ ขณะนี้ฉันกำลังประเมินสองตัวเลือก แต่ฉันเปิดรับตัวเลือกอื่นอย่างแน่นอน ตัวเลือกที่ 1 ฉันสามารถสร้างองค์ประกอบ HTML ใหม่สำหรับป๊อปอัปและผนวกเข้ากับ DOM โดยตรงจากคอนโทรลเลอร์ สิ่งนี้จะทำลายรูปแบบการออกแบบ MVC ฉันไม่พอใจกับวิธีนี้ ตัวเลือก 2 ฉันสามารถใส่รหัสสำหรับป๊อปอัปทั้งหมดในไฟล์ HTML คงที่ได้ตลอดเวลา จากนั้นใช้ngShowฉันสามารถซ่อน / แสดงเฉพาะป๊อปอัปที่ถูกต้องเท่านั้น ตัวเลือกนี้ไม่สามารถปรับขนาดได้จริงๆ ดังนั้นฉันค่อนข้างมั่นใจว่าจะต้องมีวิธีที่ดีกว่าในการบรรลุสิ่งที่ฉันต้องการ

6
HttpPromise เชิงมุม: ความแตกต่างระหว่างเมธอด `success` /` error` และการโต้เถียงของ `then`
ตามAngularJS doc การเรียกเพื่อ$httpส่งคืนสิ่งต่อไปนี้: ผลตอบแทนสัญญาวัตถุที่มีมาตรฐานแล้ววิธีการและสอง http วิธีการเฉพาะ: ความสำเร็จและข้อผิดพลาด แล้ววิธีการจะใช้เวลาสองข้อโต้แย้งที่ประสบความสำเร็จและข้อผิดพลาดการเรียกกลับซึ่งจะเรียกว่ามีวัตถุการตอบสนอง วิธีความสำเร็จและข้อผิดพลาดใช้อาร์กิวเมนต์เดียว - ฟังก์ชั่นที่จะถูกเรียกเมื่อคำขอประสบความสำเร็จหรือล้มเหลวตามลำดับ ข้อโต้แย้งที่ส่งผ่านไปยังฟังก์ชั่นเหล่านี้เป็นการทำลายการตอบสนองของวัตถุการตอบสนองผ่านเข้าไปในวิธีการนั้น นอกเหนือจากข้อเท็จจริงที่ว่าresponseวัตถุถูกทำลายในกรณีหนึ่งฉันไม่ได้รับความแตกต่างระหว่าง การเรียกกลับสำเร็จ / ข้อผิดพลาดถูกส่งผ่านเป็นอาร์กิวเมนต์ของ promise.then การเรียกกลับถูกส่งผ่านเป็นอาร์กิวเมนต์สำหรับpromise.success/ promise.errorวิธีของสัญญา มีผู้ใด? จุดประสงค์ของสองวิธีที่แตกต่างกันในการผ่านการโทรกลับที่เหมือนกันคืออะไร
177 angularjs  promise 

14
เป็นไปได้ไหมที่จะทำให้ Tree View เป็น Angular
ฉันต้องการแสดงข้อมูลในโครงสร้างแบบต้นไม้ในเว็บแอป ฉันหวังว่าจะใช้ Angular สำหรับงานนี้ ดูเหมือนว่า ng-repeat จะอนุญาตให้ฉันวนซ้ำรายการของโหนด แต่ฉันจะทำรังอย่างไรเมื่อความลึกของโหนดที่กำหนดเพิ่มขึ้น? ฉันลองใช้รหัสต่อไปนี้แต่การหลีกเลี่ยง HTML โดยอัตโนมัติทำให้ไม่สามารถทำงานได้ นอกจากนี้แท็ก ul ปลายอยู่ผิดตำแหน่ง ฉันค่อนข้างแน่ใจว่าฉันจะเกี่ยวกับปัญหานี้ในทางที่ผิดทั้งหมด ความคิดใด ๆ
177 angularjs 

10
ฉันจะเก็บข้อมูลไว้ในที่จัดเก็บในตัวเครื่องโดยใช้ Angularjs ได้อย่างไร
ขณะนี้ฉันกำลังใช้บริการเพื่อดำเนินการคือเรียกข้อมูลจากเซิร์ฟเวอร์แล้วจัดเก็บข้อมูลบนเซิร์ฟเวอร์เอง แทนที่จะเป็นเช่นนี้ฉันต้องการวางข้อมูลลงในที่จัดเก็บในตัวเครื่องแทนที่จะเก็บไว้ในเซิร์ฟเวอร์ ฉันจะทำสิ่งนี้ได้อย่างไร
177 angularjs 

10
รักษาตัวแบ่งบรรทัดในเชิงมุม
ฉันได้เห็นนี้คำถาม SO รหัสของฉันแทนที่จะng-bind="item.desc"ใช้{{item.desc}}เพราะฉันมีng-repeatมาก่อน ดังนั้นรหัสของฉัน: <div ng-repeat="item in items"> {{item.description}} </div> คำอธิบายรายการมี\nการขึ้นบรรทัดใหม่ซึ่งไม่ได้แสดงผล การ{{item.description}}แสดงขึ้นบรรทัดใหม่สามารถอนุมานได้อย่างง่ายดายว่าฉันมีng-repeatข้างต้นอย่างไร

3
เมื่อใดจึงควรใช้องค์ประกอบ 'จริง' และยอดเยี่ยม transclude ในเชิงมุม
ฉันควรใช้transclude: 'true'เมื่อใดและเมื่อtransclude: 'element'ใด ฉันไม่สามารถหาอะไรเจอtransclude: 'element'ในเอกสารเชิงมุมพวกเขาค่อนข้างสับสน ฉันจะมีความสุขถ้าใครสามารถอธิบายสิ่งนี้ในภาษาที่เรียบง่าย ประโยชน์ของแต่ละตัวเลือกคืออะไร ความแตกต่างที่แท้จริงระหว่างพวกเขาคืออะไร? นี่คือสิ่งที่ฉันได้พบ: transclude: true ภายในฟังก์ชั่นการคอมไพล์คุณสามารถจัดการ DOM ด้วยความช่วยเหลือของ transclude ฟังก์ชั่นการเชื่อมโยงหรือคุณสามารถแทรก DOM transcluded ในเทมเพลตโดยใช้คำสั่ง ngTransclude บนแท็ก HTML ใด ๆ และ transclude: ‘element’ สิ่งนี้รวมองค์ประกอบทั้งหมดและฟังก์ชันเชื่อมโยง transclude ถูกนำมาใช้ในฟังก์ชั่นการคอมไพล์ คุณไม่สามารถเข้าถึงขอบเขตได้ที่นี่เนื่องจากยังไม่ได้สร้างขอบเขต ฟังก์ชั่นการคอมไพล์สร้างฟังก์ชั่นการเชื่อมโยงสำหรับคำสั่งที่มีการเข้าถึงขอบเขตและ transcludeFn ช่วยให้คุณสัมผัสองค์ประกอบโคลน (ซึ่งถูก transcluded) สำหรับการจัดการ DOM หรือใช้ข้อมูลที่ถูกผูกไว้กับขอบเขตในมัน สำหรับข้อมูลของคุณจะใช้ใน ng-repeat และ ng-switch

6
ปิดใช้งานปุ่มส่งเมื่อแบบฟอร์มไม่ถูกต้องกับ AngularJS
ฉันมีแบบฟอร์มของฉันเช่นนี้: <form name="myForm"> <input name="myText" type="text" ng-model="mytext" required /> <button disabled="{{ myForm.$invalid }}">Save</button> </form> อย่างที่คุณอาจเห็นปุ่มถูกปิดใช้งานหากอินพุตว่างเปล่า แต่จะไม่เปลี่ยนกลับเป็นเปิดใช้งานเมื่อมีข้อความ ฉันจะทำให้มันทำงานได้อย่างไร


1
การเข้าถึงองค์ประกอบที่ถูกคลิกในเชิงมุม
ฉันค่อนข้างใหม่กับ AngularJS และสงสัยว่าฉันไม่เข้าใจแนวคิด ฉันใช้ Twitter Bootstrap และฉันโหลด jQuery แล้ว เวิร์กโฟลว์: ผู้ใช้คลิกลิงก์จากรายการส่วน "master" จะได้รับการอัปเดตและผู้ใช้ลิงก์จะได้รับคลาสที่ใช้งานอยู่ มาร์กอัป HTML พื้นฐาน: <ul class="list-holder" ng-controller="adminController"> <li><a ng-click="setMaster('client')">Clients</li> <li><a ng-click="setMaster('employees')">Employees</li> <li><a ng-click="setMaster('etc')>Etc...</li> </ul> ทำสิ่งนี้ใน jQuery: jQuery(".list-holder").on('click', 'a', function(event){ event.preventDefault(); jQuery(".list-holder li").removeClass('active'); jQuery(this).parent('li').addClass('active'); }); แต่ฉันไม่สามารถหาวิธีรวม Angular และ jQuery เพื่อทำสิ่งนี้ได้เนื่องจากฉันใช้ Angular เพื่อดึงรายการหลัก (ในรูปแบบ JSON) จากเซิร์ฟเวอร์และอัปเดตรายการในหน้า ฉันจะรวมสิ่งนี้ได้อย่างไร ฉันไม่สามารถหาองค์ประกอบที่ฉันคลิกได้เมื่อฉันอยู่ในฟังก์ชันตัวควบคุมเชิงมุม ควบคุม: function …
173 jquery  angularjs 

12
จะเปลี่ยนเส้นทางไปยังหน้าอื่นโดยใช้ AngularJS ได้อย่างไร
ฉันใช้การโทร ajax เพื่อใช้งานฟังก์ชันในไฟล์บริการและหากการตอบสนองสำเร็จฉันต้องการเปลี่ยนเส้นทางหน้าเว็บไปยัง URL อื่น ขณะนี้ฉันกำลังทำสิ่งนี้โดยใช้ js แบบง่าย "window.location = response ['message'];" แต่ฉันต้องแทนที่ด้วยรหัส angularjs ฉันได้ดูวิธีแก้ปัญหาต่างๆใน stackoverflow พวกเขาใช้ตำแหน่ง $ แต่ฉันใหม่สำหรับเชิงมุมและมีปัญหาในการใช้งาน $http({ url: RootURL+'app-code/common.service.php', method: "POST", headers: {'Content-Type': 'application/x-www-form-urlencoded'}, dataType: 'json', data:data + '&method=signin' }).success(function (response) { console.log(response); if (response['code'] == '420') { $scope.message = response['message']; $scope.loginPassword = ''; } else if …

6
เทมเพลตไดนามิกคำสั่ง Angular.jsURL
ฉันมีแท็กที่กำหนดเองในrouteProviderแม่แบบที่เรียกใช้directiveแม่แบบ versionแอตทริบิวต์จะมีประชากรโดยขอบเขตซึ่งจากนั้นจะเรียกร้องให้แม่แบบที่เหมาะสม <hymn ver="before-{{ week }}-{{ day }}"></hymn> เพลงสวดมีหลายเวอร์ชั่นโดยยึดตามสัปดาห์และวันที่ ฉันคาดว่าจะใช้คำสั่งเพื่อเติม.htmlส่วนที่ถูกต้อง templateUrlตัวแปรไม่ได้ถูกอ่านโดย emanuel.directive('hymn', function() { var contentUrl; return { restrict: 'E', link: function(scope, element, attrs) { // concatenating the directory to the ver attr to select the correct excerpt for the day contentUrl = 'content/excerpts/hymn-' + attrs.ver + '.html'; }, // …

10
บริการฉีดใน app.config
ฉันต้องการฉีดเซอร์วิสลงใน app.config เพื่อให้สามารถดึงข้อมูลได้ก่อนที่จะมีการเรียกตัวควบคุม ฉันลองแบบนี้: บริการ: app.service('dbService', function() { return { getData: function($q, $http) { var defer = $q.defer(); $http.get('db.php/score/getData').success(function(data) { defer.resolve(data); }); return defer.promise; } }; }); Config: app.config(function ($routeProvider, dbService) { $routeProvider .when('/', { templateUrl: "partials/editor.html", controller: "AppCtrl", resolve: { data: dbService.getData(), } }) }); แต่ฉันได้รับข้อผิดพลาดนี้: ข้อผิดพลาด: ผู้ให้บริการที่ไม่รู้จัก: dbService …
168 angularjs 

1
AngularJS ทำอะไรได้ดีกว่า jQuery [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันได้ใช้ไลบรารี jQuery เป็นหลักและเพิ่งเริ่มใช้ AngularJS ฉันได้อ่านบทแนะนำเกี่ยวกับวิธีการการใช้ Angular แต่ฉันยังไม่ชัดเจนว่าทำไมหรือเมื่อไรที่จะใช้หรือสิ่งที่มีประโยชน์เมื่อเปรียบเทียบกับการใช้ jQuery สำหรับฉันแล้ว Angular ทำให้คุณคิดว่า MVC ซึ่งอาจหมายความว่าคุณดูหน้าเว็บของคุณเป็นชุดข้อมูล + แม่แบบ คุณใช้{{data bindings}}ทุกครั้งที่คุณรู้สึกว่ามีข้อมูลแบบไดนามิก Angular จะให้ตัวจัดการ $ scope ซึ่งคุณสามารถเติมข้อมูลแบบสแตติกหรือผ่านการเรียกไปยังเว็บเซิร์ฟเวอร์ สิ่งนี้จะมีลักษณะคล้ายกับวิธีการออกแบบหน้าเว็บของ JSP ฉันต้องการ Angular สำหรับสิ่งนี้หรือไม่? สำหรับการจัดการ DOM แบบง่าย ๆ ซึ่งไม่เกี่ยวข้องกับการจัดการข้อมูล (เช่นการเปลี่ยนสีของ mousehover การซ่อน / แสดงองค์ประกอบเมื่อคลิก) jQuery หรือ vanilla JS …
168 jquery  angularjs 

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