คำถามติดแท็ก angular-services

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

21
AngularJS: วิธีดูตัวแปรบริการ
ฉันมีบริการพูดว่า: factory('aService', ['$rootScope', '$resource', function ($rootScope, $resource) { var service = { foo: [] }; return service; }]); และฉันต้องการใช้fooเพื่อควบคุมรายการที่แสดงผลเป็น HTML: <div ng-controller="FooCtrl"> <div ng-repeat="item in foo">{{ item }}</div> </div> เพื่อให้ตัวควบคุมตรวจสอบเมื่อaService.fooมีการปรับปรุงฉันได้ cobbled ร่วมกันรูปแบบนี้ที่ฉันเพิ่มบริการไปยังตัวควบคุม$scopeแล้วใช้$scope.$watch(): function FooCtrl($scope, aService) { $scope.aService = aService; $scope.foo = aService.foo; $scope.$watch('aService.foo', function (newVal, oldVal, scope) { if(newVal) { …

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
@HostBinding และ @HostListener: พวกเขาทำอะไรและมีไว้เพื่ออะไร
ในหากินของฉันรอบ interweb ทั่วโลกและตอนนี้โดยเฉพาะอย่างยิ่งเอกสารสไตล์ angular.ioผมพบหลายอ้างอิงถึงและ@HostBinding @HostListenerดูเหมือนว่าพวกเขาจะค่อนข้างพื้นฐาน แต่น่าเสียดายที่เอกสารสำหรับพวกเขาในขณะนี้เป็นร่างเล็ก ๆ น้อย ๆ ใครช่วยอธิบายสิ่งที่พวกเขาทำงานและยกตัวอย่างการใช้งานได้บ้าง?

3
อะไรคือข้อแตกต่างระหว่าง $ parse, $ interpolate และ $ compile services?
ความแตกต่างระหว่างคืออะไร$parse, $interpolateและ$compileบริการ? สำหรับฉันพวกเขาทั้งหมดทำสิ่งเดียวกัน: นำเทมเพลตและรวบรวมไปยังเทมเพลต - ฟังก์ชั่น

4
การส่งผ่านขอบเขตปัจจุบันไปยังบริการ AngularJS
การส่ง "กระแส" $scopeไปยังบริการ AngularJS ถูกต้องหรือไม่ ฉันอยู่ในสถานการณ์ที่ฉันใช้บริการ $ โดยรู้ว่ามันถูกใช้โดยคอนโทรลเลอร์เพียงตัวเดียวและฉันต้องการอ้างอิงถึงขอบเขตของคอนโทรลเลอร์ในวิธีการบริการของ $ เอง นี่ถูกต้องตามหลักปรัชญาหรือไม่? หรือฉันจะดีกว่าที่จะถ่ายทอดกิจกรรมไปยัง $ rootScope แล้วทำให้คอนโทรลเลอร์ของฉันฟังมัน

5
Angular 4+ ngOnDestroy () ในการให้บริการ - ทำลายที่สังเกตได้
ในแอปพลิเคชันเชิงมุมเรามีngOnDestroy()ตะขอเกี่ยวกับวงจรชีวิตสำหรับส่วนประกอบ / คำสั่งและเราใช้ตะขอนี้เพื่อยกเลิกการเป็นสมาชิกสิ่งที่สังเกตได้ ฉันต้องการล้าง / ทำลายที่สังเกตได้ซึ่งสร้างขึ้นใน@injectable()บริการ ฉันเห็นบางกระทู้บอกว่าngOnDestroy()สามารถใช้ในบริการได้เช่นกัน แต่มันเป็นแนวทางปฏิบัติที่ดีและเป็นวิธีเดียวที่จะทำได้และเมื่อไหร่จะเรียก? ใครบางคนโปรดชี้แจง

4
ใช้ $ http ภายในผู้ให้บริการที่กำหนดเองในการกำหนดค่าแอป angular.js
คำถามหลัก - เป็นไปได้ไหม? ฉันพยายามโดยไม่มีโชค .. app js หลัก ... var app = angular.module('myApp', ['services']); app.config(['customProvider', function (customProvider) { }]); ... ผู้ให้บริการเอง var services = angular.module('services', []); services.provider('custom', function ($http) { }); และฉันมีข้อผิดพลาดดังกล่าว: Uncaught Error: Unknown provider: $http from services ความคิดใด ๆ ? ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.