对于你们大多数人来说,这可能很容易,但我刚开始使用angularjs。
我正在关注this example以在angularjs中创建数据模型。
就像下面的示例一样,我正在创建一个包含所有数据相关操作的类,这样我就可以调用相同的模型并在其他地方使用它。
.factory('DataTest', ['$http', function ($http) {
function DataTest(Data) {
if (Data) {
this.setData(Data);
}
};
DataTest.prototype = {
setData: function (Data) {
angular.extend(this, Data);
},
load: function (id){
var scope = this;
$http.get('json/data.json').success(function(Data){
scope.setData(Data);
});
},
delete: function(){
$http.delete();
},
update: function (){
$http.put();
}
};
return DataTest;
}])
当我在控制器中创建范围时,如下所示:
.controller('AppCtrl', ['$scope', 'DataTest', function ($scope, DataTest) {
$scope.test = new DataTest();
console.log($scope.test);
$scope.test.load();
}])
我的控制台中的结果如下所示:
DataTest{}
data: Array [7]
0: Object
1: Object
2: Object
3: Object
...
现在,我需要进入data
,我尝试了几种没有运气的方法:
$scope.test = new DataTest();
$scope.test2 = $scope.test.data;
console.log($scope.test2); //Console says 'Undefined'
$scope.test.load();
-----------------------------
$scope.test = new DataTest();
$scope.test2 = $scope.test.data;
console.log($scope.test2);
$scope.test.data.load(); //Console says 'Cannot read property load of undefined'
------------------------
Tried returning DataTest.data from my DataTest service, and console says:
//'Provider 'DataTest' must return a value from $get factory method.'
如何正确访问测试范围内的'data'数组? 谢谢你的帮助
修改
JSON文件(示例):
"tm": "2015-12-24T15:43:29+0100",
"data": [
{
"ID": 0,
"Type": 1,
"Name": "test 0"
},
{
"ID": 1,
"Type": 3,
"Name": "test 1"
},
{
"ID": 2,
"Type": 4,
"Name": "test 2"
}
],
"errors": []
答案 0 :(得分:1)
请检查你的json文件。它是否准备好了json格式或者也没有。 试试这个:
数据[0] .something
它可能会获得json数据。