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

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

24
AngularJS สำหรับลูปที่มีตัวเลขและช่วง
Angular ให้การสนับสนุนสำหรับลูปโดยใช้ตัวเลขภายในคำสั่ง HTML: <div data-ng-repeat="i in [1,2,3,4,5]"> do something </div> แต่ถ้าตัวแปรขอบเขตของคุณมีช่วงที่มีจำนวนแบบไดนามิกคุณจะต้องสร้างอาร์เรย์ว่างในแต่ละครั้ง ในการควบคุม var range = []; for(var i=0;i<total;i++) { range.push(i); } $scope.range = range; ในรูปแบบ HTML <div data-ng-repeat="i in range"> do something </div> ใช้งานได้ แต่ไม่จำเป็นเนื่องจากเราจะไม่ใช้อาร์เรย์ช่วงเลยในลูป ไม่มีใครรู้ว่าการตั้งค่าช่วงหรือปกติสำหรับค่าต่ำสุด / สูงสุด? สิ่งที่ต้องการ: <div data-ng-repeat="i in 1 .. 100"> do something </div>

17
ปัญหาการแคช IE เชิงมุมสำหรับ $ http
การโทร ajax ทั้งหมดที่ส่งจาก IE จะถูกแคชโดย Angular และฉันจะได้รับ304 responseการโทรตามมาทั้งหมด แม้ว่าคำขอจะเหมือนกัน แต่การตอบกลับจะไม่เหมือนกันในกรณีของฉัน ฉันต้องการปิดการใช้งานแคชนี้ ฉันลองเพิ่มในcache attribute$ http.get แต่ก็ยังไม่ช่วย ปัญหานี้จะแก้ไขได้อย่างไร?

8
ฉันควรใช้ `this 'หรือ` $ scope'?
มีสองรูปแบบในการใช้งานสำหรับการเข้าถึงฟังก์ชั่นการควบคุมคือ: และthis$scope ฉันควรใช้แบบไหนและเมื่อใด ฉันเข้าใจว่าthisถูกตั้งค่าเป็นตัวควบคุมและ$scopeเป็นวัตถุในห่วงโซ่ขอบเขตสำหรับมุมมอง แต่ด้วยไวยากรณ์ "Controller as Var" ใหม่คุณสามารถใช้งานได้อย่างง่ายดาย ดังนั้นสิ่งที่ฉันถามคือสิ่งที่ดีที่สุดและทิศทางในอนาคตคืออะไร? ตัวอย่าง: การใช้ this function UserCtrl() { this.bye = function() { alert('....'); }; } <body ng-controller='UserCtrl as uCtrl'> <button ng-click='uCtrl.bye()'>bye</button> การใช้ $scope function UserCtrl($scope) { $scope.bye = function () { alert('....'); }; } <body ng-controller='UserCtrl'> <button ng-click='bye()'>bye</button> ฉันพบว่าตัวเองนั้นthis.nameง่ายต่อสายตาและเป็นธรรมชาติมากกว่าเมื่อเปรียบเทียบกับรูปแบบ OO ของ Javascript …
251 angularjs 

10
การเรียกฟังก์ชันเมื่อ ng-repeat เสร็จสิ้น
สิ่งที่ฉันพยายามนำมาใช้นั้นเป็นตัวจัดการ "ในการทำซ้ำการเรนเดอร์เสร็จสิ้น" ฉันสามารถตรวจจับได้เมื่อเสร็จสิ้น แต่ฉันไม่สามารถหาวิธีที่จะเรียกใช้ฟังก์ชันจากมันได้ ตรวจสอบซอ: http://jsfiddle.net/paulocoelho/BsMqq/3/ JS var module = angular.module('testApp', []) .directive('onFinishRender', function () { return { restrict: 'A', link: function (scope, element, attr) { if (scope.$last === true) { element.ready(function () { console.log("calling:"+attr.onFinishRender); // CALL TEST HERE! }); } } } }); function myC($scope) { $scope.ta = [1, …

8
ใช้ ng-click อย่างไรในการโทรหาเส้นทาง
สมมติว่าคุณกำลังใช้เส้นทาง: // bootstrap myApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { $routeProvider.when('/home', { templateUrl: 'partials/home.html', controller: 'HomeCtrl' }); $routeProvider.when('/about', { templateUrl: 'partials/about.html', controller: 'AboutCtrl' }); ... และใน html ของคุณคุณต้องการนำทางไปยังหน้าเกี่ยวกับเมื่อมีการคลิกปุ่ม วิธีหนึ่งก็คือ <a href="#/about"> ... แต่ดูเหมือนว่า ng-click จะมีประโยชน์เช่นกัน สมมติฐานนั้นถูกต้องหรือไม่ ng-click นั้นจะถูกใช้แทนการยึด? ถ้าเป็นเช่นนั้นจะทำงานอย่างไร IE: <div ng-click="/about">

18
การส่งผ่านข้อมูลระหว่างคอนโทรลเลอร์ใน Angular JS หรือไม่
ฉันมีตัวควบคุมพื้นฐานที่แสดงผลิตภัณฑ์ของฉัน App.controller('ProductCtrl',function($scope,$productFactory){ $productFactory.get().success(function(data){ $scope.products = data; }); }); ในมุมมองของฉันฉันกำลังแสดงผลิตภัณฑ์นี้ในรายการ <ul> <li ng-repeat="product as products"> {{product.name}} </li> </ul สิ่งที่ฉันพยายามทำคือเมื่อมีคนคลิกที่ชื่อผลิตภัณฑ์ฉันมีมุมมองอื่นที่ชื่อรถเข็นซึ่งมีการเพิ่มผลิตภัณฑ์นี้ <ul class="cart"> <li> //click one added here </li> <li> //click two added here </li> </ul> ดังนั้นข้อสงสัยของฉันที่นี่คือจะส่งผ่านผลิตภัณฑ์ที่ถูกคลิกจากตัวควบคุมแรกไปยังตัวที่สองได้อย่างไร ฉันคิดว่ารถเข็นควรเป็นตัวควบคุมด้วย ฉันจัดการกับเหตุการณ์คลิกโดยใช้คำสั่ง นอกจากนี้ฉันรู้สึกว่าฉันควรจะใช้บริการเพื่อให้ได้ฟังก์ชั่นดังกล่าวไม่สามารถคิดได้อย่างไร เพราะรถเข็นจะถูกกำหนดไว้ล่วงหน้าจำนวนของผลิตภัณฑ์ที่เพิ่มอาจเป็น 5/10 ขึ้นอยู่กับผู้ใช้หน้า ดังนั้นฉันต้องการที่จะเก็บทั่วไปนี้ ปรับปรุง: ฉันสร้างบริการเพื่อออกอากาศและในตัวควบคุมที่สองฉันได้รับมัน ตอนนี้เคียวรีคือฉันจะอัพเดต dom ได้อย่างไร? เนื่องจากรายการของฉันที่จะวางผลิตภัณฑ์ค่อนข้าง hardcoded

7
ผู้ประกอบการที่สามในแม่แบบ AngularJS
คุณจะทำไตรภาคกับ AngularJS (ในแม่แบบ) ได้อย่างไร? มันจะเป็นการดีที่จะใช้บางอย่างในคุณลักษณะ html (คลาสและสไตล์) แทนที่จะสร้างและเรียกใช้ฟังก์ชันของคอนโทรลเลอร์

6
อะไรคือความแตกต่างระหว่าง & vs @ และ = ใน angularJS
ฉันยังใหม่กับ AngularJS มาก ใครสามารถอธิบายความแตกต่างให้ฉันได้ระหว่างผู้ประกอบการ AngularJS เหล่านี้: &, @ and =เมื่อแยกขอบเขตด้วยตัวอย่างที่เหมาะสม

8
AngularJS: ฉันจะสลับมุมมองจากฟังก์ชั่นคอนโทรลเลอร์ได้อย่างไร
ฉันกำลังพยายามใช้คุณสมบัติng-clickของ AngularJS เพื่อสลับมุมมอง ฉันจะทำสิ่งนี้ด้วยรหัสด้านล่างได้อย่างไร index.html <div ng-controller="Cntrl"> <div ng-click="someFunction()"> click me <div> <div> controller.js function Cntrl ($scope) { $scope.someFunction = function(){ //code to change view? } }

9
จะเข้าถึงคุกกี้ใน AngularJS ได้อย่างไร
AngularJS มีวิธีในการเข้าถึงคุกกี้อย่างไร ฉันเห็นการอ้างอิงถึงทั้งบริการและโมดูลสำหรับคุกกี้ แต่ไม่มีตัวอย่าง มีหรือไม่มีวิธีมาตรฐานของ AngularJS หรือไม่

26
แสดง GIF สปินเนอร์ในระหว่างคำขอ $ http ใน AngularJS
ฉันใช้$httpบริการของ AngularJS เพื่อทำการร้องขอ Ajax GIF สปินเนอร์จะแสดงได้อย่างไร (หรือตัวบ่งชี้ไม่ว่างประเภทอื่น) ในขณะที่คำขอ Ajax กำลังทำงาน ฉันไม่เห็นสิ่งที่ต้องการajaxstarteventในเอกสารประกอบของ AngularJS

3
ฉันสามารถส่งบริการเป็นคำสั่งใน AngularJS ได้หรือไม่?
ฉันพยายามฉีดบริการลงในคำสั่งด้านล่าง: var app = angular.module('app',[]); app.factory('myData', function(){ return { name : "myName" } }); app.directive('changeIt',function($compile, myData){ return { restrict: 'C', link: function (scope, element, attrs) { scope.name = myData.name; } } }); Unknown provider: myDataProviderแต่ตอนนี้จะกลับมาฉันข้อผิดพลาด ใครช่วยกรุณาดูที่รหัสและบอกฉันว่าฉันกำลังทำอะไรผิดหรือเปล่า?
234 angularjs 

4
ฉันจะต้องการอินพุตแบบฟอร์มที่มีเงื่อนไขด้วย AngularJS ได้อย่างไร
สมมติว่าเรากำลังสร้างแอปพลิเคชันสมุดที่อยู่ (ตัวอย่างที่คาดการณ์ไว้) กับ AngularJS เรามีแบบฟอร์มสำหรับผู้ติดต่อที่มีอินพุตสำหรับอีเมลและหมายเลขโทรศัพท์และเราต้องการที่จะใช้อย่างใดอย่างหนึ่งแต่ไม่ใช่ทั้งสองอย่าง : เราต้องการเฉพาะemailอินพุตที่ต้องการหากphoneอินพุตว่างหรือไม่ถูกต้องและในทางกลับกัน Angular มีrequiredคำสั่ง แต่ยังไม่ชัดเจนจากเอกสารวิธีใช้งานในกรณีนี้ ดังนั้นเราจะต้องใช้ฟิลด์แบบฟอร์มตามเงื่อนไขได้อย่างไร เขียนคำสั่งที่กำหนดเอง?

12
กำลังประมวลผลการตอบสนอง $ http ในบริการ
ผมเพิ่งโพสต์คำอธิบายรายละเอียดของปัญหาที่ฉันกำลังหันหน้าไปทางที่นี่ที่ SO เนื่องจากฉันไม่สามารถส่ง$httpคำขอจริงฉันใช้หมดเวลาเพื่อจำลองพฤติกรรมแบบอะซิงโครนัส การผูกข้อมูลจากแบบจำลองของฉันเพื่อดูทำงานถูกต้องด้วยความช่วยเหลือของ @Gloopy ตอนนี้เมื่อฉันใช้$httpแทน$timeout(ทดสอบภายในเครื่อง) ฉันสามารถเห็นคำขอแบบอะซิงโครนัสสำเร็จแล้วและdataเต็มไปด้วยคำตอบ json ในบริการของฉัน แต่มุมมองของฉันไม่ได้รับการปรับปรุง อัพเดท Plunkr ที่นี่


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