创建工厂,它将返回json数据并从控制器调用它,但它将变为空。 不知道我弄错了哪里。 没有控制台错误,并且网络 json也在加载。
'use strict';
var app = angular.module('angularJson', ['ngResource']);
app.factory('loadJsonService', ['$resource', function ($resource) {
return {
getData: function () {
return $resource('json/productDetails.json');
}
};
}])
app.controller('angularJsonCtrl',['$scope', 'loadJsonService',function($scope, loadJsonService){
$scope.loadProducts = function(noOfData){
$scope.productDetails = [];
$scope.productDetails = loadJsonService.getData().query();
}
}]);
答案 0 :(得分:3)
你必须等待,直到请求完成并且&在您需要使用.$promise.then
超过$resource.query
函数调用之后。这样你就可以调用API调用成功的函数。
loadJsonService.getData().query().$promise.then(function(res){ //success function
$scope.productDetails = res;
}, function(error){ //error function
console.log(error);
})
答案 1 :(得分:0)
您必须在getData函数中设置$ http请求,如此
$http.jsonp("json/productDetails.json")
.success(function(response) {
callback(response);
});
答案 2 :(得分:0)
尝试内置{
method: 'GET',
params: {
key: value
},
isArray: true,
cache: true // if you want to cache
}
方法。
如果你想编写自己的get方法,请执行以下操作,
foreach($array as $value)
{
echo $form->field($value, 'Color_1')->widget(ColorInput::classname(), [])->label(false);
}