การแชร์ทรัพยากรระหว่างคอนโทรลเลอร์ใน Angular.js

คำถามง่ายๆ

ฉันมีทรัพยากรนี้:

var Company = $resource("/company/:_id", {_id: "@_id"}); 

ที่ฉันต้องการแบ่งปันระหว่างคอนโทรลเลอร์ต่างๆ

ตอนนี้ฉันกำลังคัดลอกและวางสิ่งต่าง ๆ แต่ก็ยังไม่ถึงจุดที่ฉันต้องการเพิ่มโค้ดเพิ่มเติมและใช้ บริการเชิงมุมที่ใช้ร่วมกัน

มีทางเลือกอื่นมั้ย?


person Nicolas Modrzyk    schedule 26.03.2013    source แหล่งที่มา


คำตอบ (1)


เพียงแค่ใส่บริการหรือโรงงาน

angular.module("myApp", []).
  factory("CompanyResource", function ($resource) {
    return $resource("/company/:_id", {_id: "@_id"}); 
  });

จากนั้นคุณสามารถใช้มันในคอนโทรลเลอร์ได้ด้วย

function MapCtrl($scope, $resource, $location, CompanyResource) {
   ...
   CompanyResource.query();
   ...
}

โปรดทราบว่าคุณไม่จำเป็นต้องมีเครื่องหมาย $ หน้าชื่อโรงงาน

person Umur Kontacı    schedule 26.03.2013
comment
สวัสดีคุณ จะเป็นไรไหมถ้าฉันเพิ่มเครื่องหมาย $ ที่ CompanyResource $ทรัพยากรบริษัท ? - person kebyang; 20.08.2014
comment
@kebyang ไม่มันไม่โอเค เครื่องหมายดอลลาร์ ($) เป็นคำนำหน้าสงวนไว้สำหรับบริการเชิงมุม - person Umur Kontacı; 20.08.2014