关于静态数据应该作为服务存储而不是存储在控制器中的概念,我已经将数据从controller.js移动到了services.js,但它不再像ng-repeat那样显示在ng-repeat中它在控制器中。
//services.js
'use strict';
angular.module('myApp.services', [])
.factory('myProperties', function () {
var myProperties = [
{
'name': '3 Bedroom Fixer Upper',
'city': 'Santa Rosa',
'state': 'CA',
'date_added': '2/3/14'
},
{
'name': '2 Bedroom Condo',
'city': 'Vallejo',
'state': 'CA',
'date_added': '4/10/20'
},
{
'name': 'Apartment',
'city': 'Salt Lake City',
'state': 'UT',
'date_added': '2/5/14'
}
];
});
//controller.js
.controller('dashCtrl', function($scope, myProperties) {
$scope.myProperties = myProperties;
});
奖励积分:在这里编写单元测试是否有意义?如果是这样,我应该测试什么?
答案 0 :(得分:3)
我相信你需要从服务中返回数组,否则它仍然是服务范围的内部。
.factory('myProperties', function () {
var myProperties = [
{
'name': '3 Bedroom Fixer Upper',
'city': 'Santa Rosa',
'state': 'CA',
'date_added': '2/3/14'
},
{
'name': '2 Bedroom Condo',
'city': 'Vallejo',
'state': 'CA',
'date_added': '4/10/20'
},
{
'name': 'Apartment',
'city': 'Salt Lake City',
'state': 'UT',
'date_added': '2/5/14'
}
];
// Return the array here...
return myProperties
});