我是AngularJS的新手。我使用WebSQL作为数据库,操作我的文件时遇到了一些问题。我有2个名为https://yoururl.com/assets/imgfolder/img.jpg
和service.js
的javascript文件。
service.js:
controller.js
controller.js:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
var sql = ('CREATE TABLE IF NOT EXISTS CART (id unique, name, price)');
});
function addToCart(id, name, price){
db.transaction(
function (tx) {
tx.executeSql(
"INSERT INTO CART (id, name, price) VALUES (NULL, ?, ?);",
[data.name,
data.price,
],
);
}
如何将我的数据库从Service.js调用到Controller.js?
答案 0 :(得分:0)
您必须在服务对象中定义您的变量,例如:
this.db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
this.db.transaction(function (tx) {
var sql = ('CREATE TABLE IF NOT EXISTS CART (id unique, name,
price)');
});
function addToCart(id, name, price){
this.db.transaction(
function (tx) {
tx.executeSql(
"INSERT INTO CART (id, name, price) VALUES
(NULL, ?, ?);",
[data.name,
data.price,
],
);
}
然后你必须导入你的服务,无论你的服务名称是什么,让我们说globalService。
angular.module('login').controller('Controller',
['globalService', '$scope','$state', '$webSql', function(globalService, $scope,$state,$webSql) {
var self = this;
self.addToCart = addToCart;
self.database = globalService.db;
function database(){
self.database = db;
return database;
}
function addToCart(id, name, price) {
alert("Success add to your cart" + id);
}
}
]);