0
Device
がデータを返し、コールバックメソッドにthis
を渡したときにコールバックを呼び出す方法。エンティティがデータを返すときのコールバック
コントローラ
(function() {
'use strict';
angular
.module('frontendApp')
.controller('DeviceController', DeviceController);
DeviceController.$inject = ['$scope', '$state', 'Device'];
function DeviceController ($scope, $state, Device) {
var vm = this;
vm.devices = [];
loadAll();
function updateMap(flag){
var self = this;//how to pass "this" from loadAll()?
// logic to update map
}
function loadAll() {
Device.query(function(result) {
vm.devices = result;
// Callback function here - updateMap(true)
});
}
}
})();
サービス
function Device ($resource, DateUtils) {
var resourceUrl = 'api/devices/:id';
return $resource(resourceUrl, {}, {
'query': { method: 'GET', isArray: true},
'update': { method:'PUT' }
});
}
「this」がコントローラ、VMまたはサービスを参照するとしたら、どんなことを説明できますか? – Aruna
'this'はコントローラを参照します。私は 'updateMap'からコントローラに定義された他のメソッドを呼び出そうとしています。 – lazyboy
'updateMap'の中で' vm'を直接使うことができます。私は何の問題も見つけません。試してみることはできますか? – Aruna