我寫了一個工廠從當地的WebSQL讓裏面的數據進行訪問database.The代碼如下:angularjs數據不能在控制器
app.factory('readData', function() {
var localData=[];
var data=[];
var db = openDatabase("here is ma database");
var selectAllStatement = "SELECT * FROM tablename";
db.transaction(function (tx) {
tx.executeSql(selectAllStatement, [], function (tx, result) {
dataset = result.rows;
for (var i = dataset.length - 1; i >= 0; i--) {
data[i]=dataset.item(i);
};
localData=data;
console.log(data);
return localData;
});
});
return localData ;});
這家工廠是在控制器中使用,以獲得data.The代碼:
function tricoreContrller($scope, readData) {$scope.users = readData;console.log($scope.users);}tricoreContrller($scope, readData);
我已經使用的console.log檢查數據是否在factory.I實際未來獲得導致從出廠控制檯而不是從controller.Plz電話我在哪裏,我錯了。我用LocalData作爲溫度變量來存儲數組「數據」中的數據。
我試過你的代碼,但我得到一個錯誤「無法讀取屬性'成功'的未定義」你可以p租賃糾正它,因爲我是angularjs的新手,這個概念對我來說是非常新鮮的事物。 – user3300727
你說得對,我放錯了'deferred.promise'的返回。 – domokun
無論如何,爲了您自己的利益,您應該學會調試和解決這類小問題,否則您將永遠無法學習JavaScript – domokun