我想从我的服务文件return-serv.js访问另一个服务文件(chart-serv.js)中的数组。 你如何调用双括号[],第1行中的依赖文件?
返回-serv.js
var app = angular.module('starter.return-serv', ['starter.chart-serv'])
app.factory("ReturnData", function() {
return {
allData: function() {
var data = starter.chart - serv.chartPricesUpTo6Hours;
return data
}
}
});
图表-serv.js
var app = angular.module('starter.chart-serv', [])
var chartPricesUpTo6Hours = {
"10": {
"1": 95,
"2": 125,
"3": 155,
"4": 185,
"5": 215,
"6": 245
},
"20": {
"1": 105,
"2": 135,
"3": 165,
"4": 195,
"5": 225,
"6": 255
}
};
我不确定的部分是allData函数数据变量。你应该怎么称呼访问另一个文件?
答案 0 :(得分:1)
您可以在chartserv.js中创建一个服务,通过将服务注入工厂,将对象传递给returnserv.js中的工厂。
var app = angular.module('chartserv', []);
app.service('FromServiceToFactory', function(){
var chartPricesUpTo6Hours = {
"10": {
"1": 95,
"2": 125,
"3": 155,
"4": 185,
"5": 215,
"6": 245
},
"20": {
"1": 105,
"2": 135,
"3": 165,
"4": 195,
"5": 225,
"6": 255
}
};
return {chartPricesUpTo6Hours: chartPricesUpTo6Hours};
});
var app = angular.module('returnserv', []);
app.factory("ReturnData", function(FromServiceToFactory) {
return {
allData: function() {
var valueFromService = FromServiceToFactory.chartPricesUpTo6Hours;
return valueFromService;
}
}
});
答案 1 :(得分:0)
如果是java脚本文件,那么首先需要在索引html中加载它,如此
<script src="path/to/file/starter.chart.js">
然后在您的starter.chart.js中,您将获得模块或将其附加到另一个模块
所以angular.module('start.chart')
或者它是一个控制器angualr.module('要连接到'的模块).controller('controller name')
以下是我为您提供一般概念的应用程序的一些代码
我的app.module.js文件
angular.module('ffApp', ['ionic', 'controllers', 'services', 'angulartics', 'angulartics.google.analytics', 'ngCordova', 'pdf', 'ngSanitize', 'ngImgCrop', 'chart.js']);
我的app.controller.js文件
angular.module('controllers', ['ionic', 'ngCordova', 'services', 'pdf', 'ngSanitize', 'ngImgCrop', 'chart.js']);
我的home.controller.js文件
angular.module('controllers').controller('home.controller',
function ($scope, ffService, $state, $http, $ionicHistory, $ionicSideMenuDelegate, $rootScope, $cordovaCamera, $ionicPlatform, $ionicLoading)
所以当我的app.moduels被加载时,它依赖于我的控制器,所以它进入并获取控制器模块,我的控制器上的每一个都连接到控制器模块,所以它们都被加载,即使它们在单独的文件。也不要忘记在index.html中加载它