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

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

6
คลาสที่แตกต่างกันสำหรับองค์ประกอบสุดท้ายใน ng-repeat
ฉันกำลังสร้างรายการโดยใช้ซ้ำสิ่งเช่นนี้ <div ng-repeat="file in files"> {{file.name}} </div> แต่สำหรับองค์ประกอบสุดท้ายเพียงอย่างเดียวฉันต้องการให้มีคลาส ( <div class="last">test</div>) รวมอยู่ด้วย ฉันจะบรรลุสิ่งนี้ได้อย่างไรโดยใช้ ng-repeat?
152 angularjs 

2
อะไรคือความแตกต่างระหว่างบริการคำสั่งและโมดูล?
ฉันอ่านเอกสารจำนวนมากและฉันสับสนมากขึ้นเรื่อย ๆ โดยทั่วไปฉันไม่สามารถเข้าใจความแตกต่างระหว่าง บริการ คำสั่ง โมดูล ฉันเห็นส่วนประกอบที่กำหนดเองมากมาย บางครั้งพวกเขากำลังใช้คำสั่งบางครั้งบริการ มันมักจะเริ่มต้นด้วยโมดูล บางคนสามารถอธิบายด้วยตัวอย่างได้ว่าความแตกต่างระหว่างสามประเภทนี้คืออะไร
151 angularjs 

5
AngularJS ng-if มีหลายเงื่อนไข
ฉันอยากรู้ว่าเป็นไปได้ไหมที่มีสิ่งนี้: div ng-repeat="(k,v) in items" <div ng-if="k == 'a' || k == 'b'"> <!-- SOME CONTENT --> </div> การรู้ว่ารายการนั้นเป็นคอนเทนเนอร์ JSON ที่ได้รับจากคำขอดังนั้นฉันจึงใช้เมธอด key และ value ขอบคุณ ฉันขอเพราะผมได้พยายาม googling แต่ผลเดียวที่ฉันจะได้อยู่ด้วยแต่ผมต้องใช้ng-switchng-if
151 angularjs 

4
การปฏิบัติที่ดีที่สุดสำหรับการโทร AJAX ใน Angular.js คืออะไร
ฉันอ่านบทความนี้: http://eviltrout.com/2013/06/15/ember-vs-angular.html และมันก็พูดว่า เนื่องจากมันขาดการประชุมฉันสงสัยว่าโครงการ Angular หลายโครงการต้องอาศัยแนวปฏิบัติที่ไม่ดีเช่น AJAX โทรโดยตรงภายในคอนโทรลเลอร์? นักพัฒนากำลังฉีดพารามิเตอร์เราเตอร์ไปยังคำสั่งหรือไม่ ผู้พัฒนา AngularJS จะเริ่มวางโครงสร้างโค้ดในลักษณะที่นักพัฒนา AngularJS ที่มีประสบการณ์เชื่อว่าเป็นไปในทางที่ผิดหรือไม่? จริงๆแล้วฉันกำลัง$httpโทรจากคอนโทรลเลอร์ Angular.js ของฉัน ทำไมมันถึงเป็นเรื่องไม่ดี วิธีที่ดีที่สุดสำหรับการ$httpโทรนั้นคืออะไร? และทำไม?
151 angularjs 

3
Angular.js: $ eval ทำงานอย่างไรและทำไมจึงแตกต่างจาก vanilla eval
ฉันอยากรู้เกี่ยวกับ$scope.$evalคุณที่มักจะเห็นในคำสั่งดังนั้นฉันตรวจสอบแหล่งที่มาและพบสิ่งต่อไปนี้ในrootScope.js: $eval: function(expr, locals) { return $parse(expr)(this, locals); }, $parseดูเหมือนจะถูกกำหนดโดยParseProviderในparse.jsซึ่งดูเหมือนว่าจะกำหนดรูปแบบของมินิซินของตัวเอง (ไฟล์มีความยาว 900 บรรทัด) คำถามของฉันคือ: กำลัง$evalทำอะไรกันแน่ ทำไมมันต้องใช้ภาษาแยกวิเคราะห์ขนาดเล็กของตัวเอง? ทำไมไม่ธรรมดาเก่า JavaScript evalถูกนำมาใช้?
151 angularjs 

11
กำหนดความกว้างของอินพุต select2 (ผ่านคำสั่ง Angular-ui)
ฉันมีปัญหาในการทำให้เสียงดังปัง (select2 + angulat-ui) ทำงานได้ http://plnkr.co/edit/NkdWUO?p=preview ในการตั้งค่าท้องถิ่นฉันได้งาน select2 แต่ฉันไม่สามารถกำหนดความกว้างตามที่อธิบายไว้ใน เอกสาร มันแคบเกินไปที่จะใช้ ขอบคุณ. แก้ไข: ไม่เป็นไรหรอกนะว่าฉันได้พบคนทำหมันทำงานอยู่ที่นี่ http://jsfiddle.net/pEFy6/ ดูเหมือนว่าเป็นพฤติกรรมของ select2 ที่จะยุบไปตามความกว้างขององค์ประกอบแรก ฉันสามารถตั้งค่าความกว้างผ่าน bootstrap class="input-medium"ยังไม่แน่ใจว่าทำไม angular-ui ไม่ใช้พารามิเตอร์ config

6
การใช้สัญลักษณ์ '@', '&', '=' และ '>' ในการเชื่อมโยงขอบเขตคำสั่งที่กำหนดเอง: AngularJS
ฉันได้อ่านมากเกี่ยวกับการใช้สัญลักษณ์เหล่านี้ในการดำเนินการตามคำสั่งที่กำหนดเองใน AngularJS แต่แนวคิดยังไม่ชัดเจนสำหรับฉัน ฉันหมายความว่าอย่างไรถ้าฉันใช้ค่าขอบเขตหนึ่งค่าในคำสั่งที่กำหนดเอง var mainApp = angular.module("mainApp", []); mainApp.directive('modalView',function(){ return{ restrict:'E', scope:'@' OR scope:'&' OR scope:'=' OR scope:'>' OR scope:true } }); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล เรากำลังทำอะไรกับขอบเขตที่นี่? ฉันไม่แน่ใจว่า"ขอบเขต: '>'"มีอยู่ในเอกสารอย่างเป็นทางการหรือไม่ มันถูกใช้ในโครงการของฉัน แก้ไข-1 การใช้"ขอบเขต: '>'"เป็นปัญหาในโครงการของฉันและได้รับการแก้ไขแล้ว

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

9
angularjs: ng-src ที่เทียบเท่าสำหรับ background-image: url (…)
ใน angularjs คุณมีแท็ก NG-srcซึ่งมีวัตถุประสงค์ที่คุณจะไม่ได้รับความผิดพลาดสำหรับ URL ที่ไม่ถูกต้องก่อน angularjs ได้รับการประเมินผลการศึกษาตัวแปรที่อยู่ในระหว่างและ{{}} ปัญหาคือฉันใช้ DIV บางตัวพร้อมbackground-imageชุด URL ฉันทำเช่นนี้เพราะคุณสมบัติ CSS3 ที่ยอดเยี่ยมbackground-sizeซึ่งตัดภาพให้มีขนาดที่แน่นอนของ DIV ปัญหาเดียวคือฉันได้รับข้อผิดพลาดมากมายด้วยเหตุผลเดียวกันกับที่พวกเขาสร้างแท็ก ng-src: ฉันมีตัวแปรบางอย่างใน url และเบราว์เซอร์คิดว่าไม่มีภาพอยู่ ฉันรู้ว่ามีความเป็นไปได้ในการเขียนหยาบ{{"style='background-image:url(myVariableUrl)'"}}แต่ดูเหมือนว่า 'สกปรก' ฉันค้นหามากและไม่สามารถหาวิธีที่ถูกต้องในการทำเช่นนี้ แอพของฉันกำลังยุ่งเพราะข้อผิดพลาดเหล่านี้ทั้งหมด
150 css  angularjs 

7
จำกัด จำนวนผลลัพธ์ที่แสดงเมื่อใช้ ngRepeat
ฉันพบว่าบทเรียน AngularJSยากที่จะเข้าใจ อันนี้ฉันกำลังเดินผ่านการสร้างแอพที่แสดงโทรศัพท์ ฉันอยู่ในขั้นตอนที่ 5และฉันคิดว่าเป็นการทดลองฉันพยายามอนุญาตให้ผู้ใช้ระบุจำนวนที่ต้องการให้แสดง มุมมองมีลักษณะดังนี้: <body ng-controller="PhoneListCtrl"> <div class="container-fluid"> <div class="row-fluid"> <div class="span2"> <!--Sidebar content--> Search: <input ng-model="query"> How Many: <input ng-model="quantity"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <option value="age">Newest</option> </select> </div> <div class="span10"> <!--Body content--> <ul class="phones"> <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> {{phone.name}} <p>{{phone.snippet}}</p> </li> …

12
วิธีการใช้ตัวเลือก ng เพื่อตั้งค่าเริ่มต้นขององค์ประกอบที่เลือก
ผมเคยเห็นเอกสารของเลือกสั่งเชิงมุมที่นี่: http://docs.angularjs.org/api/ng.directive:select ฉันไม่สามารถกำหนดวิธีการตั้งค่าเริ่มต้นได้ นี่คือความสับสน: เลือกเป็นป้ายกำกับสำหรับค่าในอาร์เรย์ นี่คือวัตถุ: { "type": "select", "name": "Service", "value": "Service 3", "values": [ "Service 1", "Service 2", "Service 3", "Service 4"] } html (ทำงาน): <select><option ng-repeat="value in prop.values">{{value}}</option></select> แล้วฉันกำลังพยายามเพิ่มแอตทริบิวต์ ng-option ภายในองค์ประกอบ select เพื่อตั้งprop.valueเป็นตัวเลือกเริ่มต้น (ไม่ทำงาน) ng-options="(prop.value) for v in prop.values" ผมทำอะไรผิดหรือเปล่า?
148 angularjs 

5
“ มัณฑนากร” คืออะไรและใช้อย่างไร?
ฉันอยากรู้ว่านักตกแต่งคืออะไรใน AngularJS ไม่มีข้อมูลมากออนไลน์ตกแต่งประหยัดสำหรับการประกาศแจ้งในส่วนเอกสาร AngularJSและสั้น ๆ (แม้จะน่าสนใจ) กล่าวถึงในวิดีโอ YouTube ในฐานะที่เป็นคนเชิงมุมใส่มัณฑนากรคือ: ตกแต่งของบริการช่วยให้มัณฑนากรเพื่อสกัดกั้นการสร้างอินสแตนซ์ของบริการ อินสแตนซ์ที่ส่งคืนอาจเป็นอินสแตนซ์ดั้งเดิมหรืออินสแตนซ์ใหม่ที่มอบหมายให้กับอินสแตนซ์ดั้งเดิม ฉันไม่รู้จริงๆว่ามันหมายถึงอะไรและฉันไม่แน่ใจว่าทำไมคุณถึงแยกตรรกะนี้ออกจากบริการ ตัวอย่างเช่นถ้าฉันต้องการคืนบางสิ่งที่แตกต่างกันภายใต้เงื่อนไขที่แตกต่างกันฉันจะส่งข้อโต้แย้งที่แตกต่างกันไปยังฟังก์ชันที่เกี่ยวข้องหรือใช้ฟังก์ชั่นอื่นที่แบ่งปันสถานะส่วนตัวนั้น ฉันยังคงเป็น AngularJS noob ดังนั้นฉันแน่ใจว่ามันเป็นแค่ความไม่รู้และ / หรือนิสัยที่ไม่ดีที่ฉันเลือกมา

13
จะทำให้ล่าช้าในการค้นหาทันใจของ AngularJS ได้อย่างไร
ฉันมีปัญหาเรื่องประสิทธิภาพที่ฉันไม่สามารถจัดการได้ ฉันมีการค้นหาแบบทันที แต่มันค่อนข้างล่าช้าเนื่องจากเริ่มค้นหาในแต่ละkeyup()ครั้ง JS: var App = angular.module('App', []); App.controller('DisplayController', function($scope, $http) { $http.get('data.json').then(function(result){ $scope.entries = result.data; }); }); HTML: <input id="searchText" type="search" placeholder="live search..." ng-model="searchText" /> <div class="entry" ng-repeat="entry in entries | filter:searchText"> <span>{{entry.content}}</span> </div> ข้อมูล JSON ไม่ได้มีขนาดใหญ่เพียง 300KB เท่านั้นฉันคิดว่าสิ่งที่ฉันต้องทำให้สำเร็จคือการหน่วงเวลาประมาณ 1 วินาทีในการค้นหาเพื่อรอให้ผู้ใช้พิมพ์เสร็จแทนที่จะทำการดำเนินการในแต่ละการกดแป้นพิมพ์ AngularJS ทำสิ่งนี้ภายในและหลังจากอ่านเอกสารและหัวข้ออื่น ๆ ที่นี่ฉันไม่พบคำตอบที่เฉพาะเจาะจง ฉันขอขอบคุณพอยน์เตอร์ใด ๆ เกี่ยวกับวิธีที่ฉันสามารถหน่วงเวลาการค้นหาแบบทันที

10
วิธีเปิดใช้งาน CORS ใน AngularJs
ฉันสร้างตัวอย่างโดยใช้ JavaScript สำหรับ API การค้นหาภาพถ่าย Flickr ตอนนี้ฉันกำลังแปลงเป็น AngularJs ฉันค้นหาบนอินเทอร์เน็ตและพบการกำหนดค่าด้านล่าง การกำหนดค่า: myApp.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); บริการ: myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; this.flickrPhotoSearch = function() { return $http({ method: 'GET', url: 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=3f807259749363aaa29c76012fa93945&tags=india&format=json&callback=?', dataType: 'jsonp', headers: {'Authorization': 'Token token=xxxxYYYYZzzz'} }); } }); ควบคุม: myApp.controller('flickrController', function($scope, dataService) { $scope.data = …

5
AngularJS: เข้าใจรูปแบบการออกแบบ
ในบริบทของโพสต์นี้โดย Igor Minar, ผู้นำของ AngularJS: MVC VS MVVM VS MVP เป็นหัวข้อที่ถกเถียงกันอยู่ว่านักพัฒนาหลายคนสามารถใช้เวลาหลายชั่วโมงในการโต้วาทีและโต้เถียงกัน สำหรับหลายปี AngularJS ได้ใกล้ชิดกับ MVC (หรือมากกว่าหนึ่งในฝั่งไคลเอ็นต์ของสายพันธุ์) แต่เมื่อเวลาผ่านไปและขอขอบคุณที่ refactorings จำนวนมากและการปรับปรุง API ก็ตอนนี้ใกล้ชิดกับMVVM - The $ ขอบเขตวัตถุอาจได้รับการพิจารณาViewModelว่าจะถูก ตกแต่งด้วยฟังก์ชั่นที่เราเรียกว่าเป็นตัวควบคุม ความสามารถในการจัดประเภทเฟรมเวิร์กและนำไปไว้ในหนึ่งในที่เก็บ MV * มีข้อดีบางประการ มันสามารถช่วยให้นักพัฒนารู้สึกคุ้นเคยกับ apis มากขึ้นด้วยการทำให้ง่ายต่อการสร้างแบบจำลองทางจิตที่แสดงถึงแอปพลิเคชันที่ถูกสร้างขึ้นด้วยกรอบงาน นอกจากนี้ยังสามารถช่วยในการสร้างคำศัพท์ที่ใช้โดยนักพัฒนา ต้องบอกว่าฉันอยากเห็นนักพัฒนาสร้างแอพ kick-ass ที่ได้รับการออกแบบมาอย่างดีและติดตามความกังวลมากกว่าที่จะเห็นพวกเขาเสียเวลาเถียงเกี่ยวกับเรื่องไร้สาระ MV * และด้วยเหตุผลนี้ผมขอประกาศ AngularJSจะเป็นกรอบ MVW - Model-View-สิ่งที่ ไม่ว่าอะไรจะเกิดขึ้นกับ " สิ่งใดก็ตามที่เหมาะกับคุณ " Angular ให้ความยืดหยุ่นในการแยกตรรกะการนำเสนอออกจากตรรกะทางธุรกิจและสถานะการนำเสนออย่างมาก …

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