Tôi có một yêu cầu trong đó tôi nên viết nhà máy. Nhà máy này nên chứa 3 hàm init, lưu và xóaLàm thế nào để nhà máy AngularJS trả lại một đối tượng
Tôi nên gọi hàm init từ bộ điều khiển. Hàm này trả về một đối tượng. Đối tượng này có chức năng thực hiện chức năng thêm và xóa.
làm cách nào tôi có thể đạt được điều này?
Sau đây là mã của tôi, Nó thực hiện hàm init thành công nhưng khi tôi cố gắng sử dụng các đối tượng mà đã để lại vào add hoặc xóa, nó nói đối tượng là trống
angularApp.factory('SomeFactory', function(){
var client = new Client(); // this client is defined in another javascript file
// this is the object which we should return
var clientReady = function() {
var cv = client.GetVersion();
showIDs();
};
return {
initClient:function(requiredUID){
client.setAttribute("clientReadyCallback",clientReady);
}//,
};
var add = function() {
client.someapi;
};
var delete = function() {
client.someapi;
};`
});
in controller i call the below calls
SomeFactory.initClient("username");
SomeFactory.add();// throws error
Làm thế nào tôi có thể đạt được điều này?
Bạn không bao giờ đạt được 'var add = function() ...' bởi vì bạn đang quay trở lại trước nó. – Beterraba
ngay cả khi tôi ass những chức năng bên trong trở lại với dấu phẩy tách ra, nó vẫn không hoạt động – user1834664
Bạn có thể đặt mã của bạn trong một fiddle? – Beterraba