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

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

10
AngularJS ng-repeat จัดการรายการที่ว่างเปล่า
ฉันคิดว่านี่จะเป็นสิ่งที่ธรรมดามาก แต่ฉันไม่สามารถหาวิธีจัดการกับมันได้ใน AngularJS สมมติว่าฉันมีรายการกิจกรรมและต้องการส่งออกด้วย AngularJS แล้วมันค่อนข้างง่าย: <ul> <li ng-repeat="event in events">{{event.title}}</li> </ul> แต่ฉันจะจัดการกรณีได้อย่างไรเมื่อรายการว่างเปล่า? ฉันต้องการให้กล่องข้อความอยู่ในตำแหน่งที่รายการอยู่กับบางสิ่งเช่น "ไม่มีเหตุการณ์" หรือคล้ายกัน สิ่งเดียวที่จะเข้ามาใกล้คือng-switchด้วยevents.length(ฉันจะตรวจสอบว่าว่างเปล่าเมื่อวัตถุและไม่ใช่อาร์เรย์ได้อย่างไร) แต่นั่นเป็นตัวเลือกเดียวที่ฉันมีจริงหรือ

10
การรับรองความถูกต้องเข้าสู่ระบบ AngularJS ui-router
ฉันใหม่กับ AngularJS และฉันสับสนเล็กน้อยเกี่ยวกับวิธีใช้ angular- "ui-router" ในสถานการณ์ต่อไปนี้: ฉันกำลังสร้างโปรแกรมประยุกต์บนเว็บซึ่งประกอบด้วยสองส่วน ส่วนแรกคือหน้าแรกที่มีมุมมองเข้าสู่ระบบและการลงชื่อสมัครใช้และส่วนที่สองคือแผงควบคุม (หลังจากลงชื่อเข้าใช้สำเร็จ) ฉันสร้างส่วนindex.htmlสำหรับโฮมด้วยแอพเชิงมุมและตั้งค่าui-routerเพื่อจัดการ/loginและ/signupดูและมีไฟล์อีกส่วนdashboard.htmlสำหรับแผงควบคุมพร้อมแอพและกำหนดค่าui-routerเพื่อจัดการมุมมองย่อยมากมาย ตอนนี้ฉันเสร็จส่วนแดชบอร์ดและไม่ทราบวิธีรวมสองส่วนเข้ากับแอพเชิงมุมที่ต่างกัน ฉันจะบอกแอพโฮมให้เปลี่ยนเส้นทางไปยังแอปแดชบอร์ดได้อย่างไร

3
วิธีการส่งพารามิเตอร์โดยใช้ ui-sref ใน ui-router ไปยังตัวควบคุม
ฉันต้องผ่านและรับพารามิเตอร์สองตัวในสถานะที่ฉันต้องการใช้เพื่อขนส่งui-srefของใช้ui-router สิ่งที่ต้องการใช้ลิงก์ด้านล่างเพื่อเปลี่ยนสถานะเป็นhomeด้วยfooและbarพารามิเตอร์: <a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home state with foo and bar parameters </a> การรับfooและbarค่าในคอนโทรลเลอร์: app.controller('SomeController', function($scope, $stateParam) { //.. var foo = $stateParam.foo; //getting fooVal var bar = $stateParam.bar; //getting barVal //.. }); ฉันจะได้รับundefinedสำหรับ$stateParamในการควบคุม มีใครช่วยให้ฉันเข้าใจว่าทำอย่างไรให้สำเร็จ แก้ไข: .state('home', { url: '/', views: { '': { templateUrl: 'home.html', controller: …

11
ส่งแบบฟอร์มเมื่อกด Enter ด้วย AngularJS
ในกรณีพิเศษนี้ตัวเลือกใดที่ฉันต้องทำเพื่อให้อินพุตเหล่านี้เรียกใช้ฟังก์ชันเมื่อฉันกด Enter // HTML view // <form> <input type="text" ng-model="name" <!-- Press ENTER and call myFunc --> /> <br /> <input type="text" ng-model="email" <!-- Press ENTER and call myFunc --> /> </form> // Controller // .controller('mycontroller', ['$scope',function($scope) { $scope.name = ''; $scope.email = ''; // Function to be called when …

5
วิธีรับคุณลักษณะที่ประเมินภายในคำสั่งที่กำหนดเอง
ฉันพยายามรับคุณลักษณะที่ประเมินจากคำสั่งที่กำหนดเองของฉัน แต่ฉันไม่สามารถหาวิธีที่ถูกต้องในการทำมัน ฉันสร้างjsFiddle นี้ขึ้นเพื่ออธิบายอย่างละเอียด <div ng-controller="MyCtrl"> <input my-directive value="123"> <input my-directive value="{{1+1}}"> </div> myApp.directive('myDirective', function () { return function (scope, element, attr) { element.val("value = "+attr.value); } }); ฉันกำลังคิดถึงอะไร

10
แบ่งปันข้อมูลระหว่างคอนโทรลเลอร์ AngularJS
ฉันกำลังพยายามแชร์ข้อมูลข้ามคอนโทรลเลอร์ Use-case เป็นรูปแบบหลายขั้นตอนข้อมูลที่ป้อนในหนึ่งอินพุตจะถูกใช้ในภายหลังในสถานที่แสดงผลหลายแห่งนอกตัวควบคุมดั้งเดิม รหัสด้านล่างและในjsfiddle ที่นี่ HTML <div ng-controller="FirstCtrl"> <input type="text" ng-model="FirstName"><!-- Input entered here --> <br>Input is : <strong>{{FirstName}}</strong><!-- Successfully updates here --> </div> <hr> <div ng-controller="SecondCtrl"> Input should also be here: {{FirstName}}<!-- How do I automatically updated it here? --> </div> JS // declare the app with no dependencies …

14
วิธีการใช้งานฟังก์ชั่นควบคุม AngularJS ในการโหลดหน้า
ขณะนี้ฉันมีหน้า Angular.js ที่อนุญาตให้ค้นหาและแสดงผลลัพธ์ ผู้ใช้คลิกที่ผลการค้นหาจากนั้นคลิกปุ่มย้อนกลับ ฉันต้องการให้แสดงผลการค้นหาอีกครั้ง แต่ฉันไม่สามารถหาวิธีที่จะทำให้การค้นหาดำเนินการได้ นี่คือรายละเอียด: หน้า Angular.js ของฉันคือหน้าการค้นหาพร้อมช่องค้นหาและปุ่มค้นหา ผู้ใช้สามารถพิมพ์ด้วยตนเองในแบบสอบถามและกดปุ่มและแบบสอบถาม ajax ถูกยิงและผลลัพธ์จะปรากฏขึ้น ฉันอัปเดต URL ด้วยคำค้นหา ทำงานได้ดีทั้งหมด ผู้ใช้คลิกที่ผลลัพธ์ของการค้นหาและนำไปยังหน้าอื่น - ซึ่งก็ใช้ได้เช่นกัน ผู้ใช้คลิกปุ่มย้อนกลับและกลับไปที่หน้าการค้นหาเชิงมุมของฉันและ URL ที่ถูกต้องจะปรากฏขึ้นรวมถึงคำค้นหา ทำงานได้ดีทั้งหมด ฉันผูกค่าฟิลด์การค้นหากับคำค้นหาใน URL ดังนั้นจึงมีคำค้นหาที่คาดหวัง ทำงานได้ดีทั้งหมด ฉันจะให้ฟังก์ชันค้นหาดำเนินการอีกครั้งได้อย่างไรโดยที่ผู้ใช้ไม่ต้องกดปุ่ม "ค้นหา" ถ้ามันเป็น jquery ฉันจะใช้งานฟังก์ชั่นในฟังก์ชั่น documentready ฉันไม่เห็น Angular.js ที่เทียบเท่ากัน
359 angularjs  onload 

5
ไฟล์ Javascript .map - ซอร์สแผนที่ javascript
เมื่อเร็ว ๆ นี้ฉันได้เห็นไฟล์ที่มี.js.mapส่วนขยายที่จัดส่งมาพร้อมกับไลบรารี JavaScript บางตัว (เช่นAngular ) และนั่นทำให้เกิดคำถามสองสามข้อในหัวของฉัน: มีไว้เพื่ออะไร? ทำไมคนที่ Angular สนใจส่ง.js.mapไฟล์? ฉันจะใช้angular.min.js.mapไฟล์(ในฐานะนักพัฒนา JavaScript) ได้อย่างไร ฉันควรสนใจเกี่ยวกับการสร้าง.js.mapไฟล์สำหรับแอปพลิเคชัน JavaScript ของฉันหรือไม่ มันถูกสร้างขึ้นมาได้อย่างไร? ฉันลองดูangular.min.js.mapและมันก็เต็มไปด้วยสตริงที่มีรูปแบบแปลก ๆ ดังนั้นฉันจึงคิดว่ามันไม่ได้ถูกสร้างขึ้นด้วยตนเอง

5
MVW คืออะไร
นี่คือคำอธิบายเนื้อหาสำหรับหน้า AngularJS: AngularJS คือ HTML ที่ควรจะเป็นหากถูกออกแบบมาสำหรับการสร้างเว็บแอป เทมเพลตสำหรับการเปิดเผยที่มีการเชื่อมโยงข้อมูล, MVW, MVVM, MVC, การฉีดขึ้นต่อกันและเรื่องราวความสามารถในการทดสอบที่ยอดเยี่ยมทั้งหมดถูกนำไปใช้กับ JavaScript ฝั่งไคลเอ็นต์ที่แท้จริง! MVW นั้นจะยืนหยัดเพื่ออะไร? (พิจารณา MVC, MVVW, MVP ฯลฯ การทะเลาะกันฉันจะเดา "อะไรก็ตาม", Model-View-Anything = P)
351 angularjs  acronym  mvw 

6
$ rootScope $ broadcast เทียบกับ $ scope $ emit
ตอนนี้ที่ความแตกต่างระหว่างประสิทธิภาพ$broadcastและ$emitได้รับการกำจัดจะมีเหตุผลใด ๆ จะชอบ$scope.$emitไป$rootScope.$broadcast? พวกเขาแตกต่างกันใช่ $emit ถูก จำกัด ในลำดับชั้นของขอบเขต (ขึ้นไป) - อาจดีถ้ามันเหมาะกับการออกแบบของคุณ แต่ดูเหมือนว่าฉันจะมีข้อ จำกัด โดยพลการ $rootScope.$broadcastทำงานในทุกสิ่งที่เลือกที่จะฟังเหตุการณ์ซึ่งเป็นข้อ จำกัด ที่สมเหตุสมผลมากขึ้นในใจของฉัน ฉันพลาดอะไรไปรึเปล่า? แก้ไข: เพื่อชี้แจงในการตอบสนองต่อคำตอบทิศทางของการจัดส่งไม่ใช่ปัญหาที่ฉันตามมา $scope.$emitยื้อเหตุการณ์ขึ้นและ$scope.$broadcast- ลง แต่ทำไมไม่ใช้$rootScope.$broadcastเพื่อเข้าถึงผู้ฟังที่ตั้งใจไว้เสมอไป?

12
ตัวแปรทั่วโลกใน AngularJS
ฉันมีปัญหาที่ฉันกำลังเริ่มต้นตัวแปรในขอบเขตในคอนโทรลเลอร์ จากนั้นจะได้รับการเปลี่ยนแปลงในตัวควบคุมอื่นเมื่อผู้ใช้เข้าสู่ระบบตัวแปรนี้จะใช้ในการควบคุมสิ่งต่าง ๆ เช่นแถบนำทางและ จำกัด การเข้าถึงส่วนต่าง ๆ ของเว็บไซต์ขึ้นอยู่กับประเภทของผู้ใช้จึงเป็นสิ่งสำคัญที่จะถือค่าของมัน ปัญหาที่เกิดขึ้นคือมันเป็นตัวควบคุมที่เริ่มต้นมันได้รับการเรียกอีกครั้งโดยเชิงมุมบางวิธีแล้วรีเซ็ตตัวแปรกลับไปเป็นค่าเริ่มต้น ฉันคิดว่านี่ไม่ใช่วิธีที่ถูกต้องในการประกาศและกำหนดค่าเริ่มต้นให้กับตัวแปรระดับโลก แต่มันไม่ได้เป็นค่าทั่วโลกดังนั้นคำถามของฉันคือวิธีที่ถูกต้องและมีตัวอย่างที่ดีเกี่ยวกับการทำงานของมุมเชิงมุมรุ่นปัจจุบันหรือไม่


8
จะใส่ข้อมูลโมเดลและพฤติกรรมได้ที่ไหน [TL; ดร; ใช้บริการ]
ฉันกำลังทำงานกับ AngularJS สำหรับโครงการล่าสุดของฉัน ในเอกสารประกอบและแบบฝึกหัดข้อมูลโมเดลทั้งหมดจะถูกใส่เข้าไปในขอบเขตของคอนโทรลเลอร์ ฉันเข้าใจว่าจะต้องมีให้พร้อมใช้งานสำหรับคอนโทรลเลอร์และภายในมุมมองที่เกี่ยวข้อง อย่างไรก็ตามฉันไม่คิดว่ารูปแบบควรนำไปใช้จริงที่นั่น มันอาจจะซับซ้อนและมีแอตทริบิวต์ส่วนตัวเช่น นอกจากนี้อาจต้องการนำมาใช้ซ้ำในบริบท / แอปอื่น การวางทุกอย่างลงในคอนโทรลเลอร์จะแบ่งรูปแบบ MVC โดยสิ้นเชิง เช่นเดียวกันถือเป็นจริงสำหรับพฤติกรรมของรูปแบบใด ๆ ถ้าฉันจะใช้สถาปัตยกรรม DCIและแยกพฤติกรรมจากตัวแบบข้อมูลฉันจะต้องแนะนำวัตถุเพิ่มเติมเพื่อเก็บพฤติกรรม สิ่งนี้จะทำได้โดยการแนะนำบทบาทและบริบท DCI == D ATA C ollaboration ฉัน nteraction แน่นอนว่าแบบจำลองข้อมูลและพฤติกรรมสามารถนำไปใช้กับวัตถุจาวาสคริปต์ธรรมดาหรือรูปแบบ "คลาส" ใด ๆ แต่สิ่งที่จะเป็นวิธี AngularJS ที่จะทำอย่างไร ใช้บริการหรือไม่ ดังนั้นลงมาที่คำถามนี้: คุณใช้โมเดลอย่างไรแยกจากคอนโทรลเลอร์ตามแนวทางปฏิบัติที่ดีที่สุดของ AngularJS

2
เอกสารประกอบ AngularJS app.run ()?
ใช้อย่างไรและที่ไหนapp.run()? หลังจากนิยามโมดูลหลังapp.config()หรือหลังapp.controller()? ฉันใช้BreezeJS Angular Qซึ่งถามว่ารหัสบางอย่างสามารถทำงานในapp.run()ฟังก์ชั่นนี้ได้หรือไม่
337 angularjs 

30
AngularJs $ http.post () ไม่ส่งข้อมูล
ใครสามารถบอกฉันได้ว่าทำไมข้อความต่อไปนี้ไม่ส่งข้อมูลการโพสต์ไปยัง URL ที่กำหนด? url ถูกเรียกใช้ แต่อยู่บนเซิร์ฟเวอร์เมื่อฉันพิมพ์ $ _POST - ฉันได้อาร์เรย์ที่ว่างเปล่า ถ้าฉันพิมพ์ข้อความในคอนโซลก่อนเพิ่มลงในข้อมูล - แสดงเนื้อหาที่ถูกต้อง $http.post('request-url', { 'message' : message }); ฉันได้ลองกับข้อมูลเป็นสตริง (ด้วยผลลัพธ์เดียวกัน): $http.post('request-url', "message=" + message); ดูเหมือนว่าจะใช้งานได้เมื่อฉันใช้ในรูปแบบต่อไปนี้: $http({ method: 'POST', url: 'request-url', data: "message=" + message, headers: {'Content-Type': 'application/x-www-form-urlencoded'} }); แต่มีวิธีทำด้วย $ http.post () - และฉันจะต้องรวมส่วนหัวเพื่อให้มันทำงานได้หรือไม่ ฉันเชื่อว่าประเภทเนื้อหาข้างต้นระบุรูปแบบของข้อมูลที่ส่ง แต่ฉันสามารถส่งเป็นวัตถุจาวาสคริปต์ได้หรือไม่

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