我已經在控制器內部創建了一個名爲Call的工廠我在$ scope中有一個Calls數組。我想要做的是更新Call對象並更新$ scope。我已經嘗試過使用$,但是我無法完成它的工作,即使可以,它也有點過分了......
當工廠對象被修改時,如何更新$ scope ?
var ctiApp = angular.module('ctiApp', []);
ctiApp.controller('PhoneController', function($scope,$interval,$http,Call,$rootScope){
$scope.calls = [
];
$scope.dial = function(number){
var call = new Call();
call.dial(number);
$scope.calls.push(call);
}
});
// Factory
ctiApp.factory('Call',['$rootScope','$http', function($rootScope ,$http){
var Call = function() {
this.channel='';
this.uid='';
this.time='00:00:00';
this.state='connecting';
this.callerid='';
}
Call.prototype.dial = function(number){
$http({method: 'GET', url: '/url'}).
success(function(data, status, headers, config) {
if(data.data.response==='Success'){
console.log('#CONNECTED');
this.state = 'connected';
this.time = '00:00:00';
this.uid = data.data.uniqueid;
this.channel = data.data.channel;
this.callerid = number;
}
});
}
return Call;
}]);
注:我已經拆出來的大部分功能了這些功能,這就是爲什麼有一些$ HTTP,$間隔等,仍落後....
這就是我最初使用,但返回一個類而不是更容易。使用新關鍵字時未遇到問題。 – Mattisdada