2014-07-16 20 views
7

Ola!AngularJS Lấy tên nhà máy/dịch vụ hiện tại

Tôi chỉ đang chơi xung quanh với các nhà máy và dịch vụ của góc cạnh và tôi chỉ nhận thấy rằng tôi không thể có tên hiện tại của nhà máy/dịch vụ. Ít nhất tôi không thể có được bất kỳ tài nguyên nào về điều đó.
Ví dụ để rõ ràng hơn một chút, tôi có một nhà máy, như thế này;

.factory('GuessImAFactory', [function() { 

    var factoryName = this.yadayada.name; //<- This actually doesn't work, 
              //if you haven't guessed 

    //<--Some other code goes here--> 

    return something; 
}]) 

Vì vậy, câu hỏi có ai biết mẹo làm thế nào để có được tên của nó?

+1

trường hợp sử dụng có lợi cho bạn để có tên là gì? – charlietfl

+3

Liệu nó có thực sự quan trọng? :) Điều này là tôi lặp lại chuỗi đó như 3 lần trong một nhà máy và tôi có 200 nhà máy, nó sẽ giúp tôi tiết kiệm một số đánh máy và cũng tái bao thanh toán sẽ là một cơn ác mộng ... – TheCodeDestroyer

Trả lời

2

Tôi không nghĩ điều này là có thể. Trong chức năng gọi lại, bạn không thể có được trường hợp thực tế của nhà máy kể từ khi bạn đang xác định nó ngay tại nơi đó. Trong các tác phẩm khác, nó chưa được tạo ra.

Tuy nhiên, cách giải quyết đơn giản này sẽ là cứng mã nó .. Vì bạn có thể sẽ không có nhà máy năng động, bạn có thể chỉ đơn giản là nói

var factoryName = 'GuessImAFactory'; 

và sử dụng nó nếu cần thiết.

+0

Nghĩ như thế. .. Kinda sợ đây là giải pháp duy nhất: / – TheCodeDestroyer

0

Hãy thử cái này: factoryObject.__proto__.constructor.name

Các vấn đề liên quan