我使用angular ui引导程序rating stars来显示使用$httpget请求通过django python控制器传递的静态值,并使它们显示在表中。能够显示表行中的星号,但它不显示我传递的数据。不知道我哪里做错了。如果有人能帮我解决这个问题就好了
应用程序.js
getData : function($defer,params){
ngTableDataService.getData( $defer, params);
$http.get('/reviews/').then(function(response) {
tableData = response.data.product_whole_data;
vm.rate = response.data.ratings_data;
console.log(tableData);
console.log(vm.rate);
vm.max = 5;
vm.isReadonly = true;
vm.hoveringOver = function(value) {
vm.overStar = value;
vm.percent = 100 * (value / vm.max);
};
vm.ratingStates = [
{stateOn: 'fa fa-check', stateOff: 'fa fa-check-circle'},
{stateOn: 'fa fa-star', stateOff: 'fa fa-star-o'},
{stateOn: 'fa fa-heart', stateOff: 'fa fa-ban'},
{stateOn: 'fa fa-heart'},
{stateOff: 'fa fa-power-off'}
];
var filteredData = params.filter() ?
$filter('filter')(tableData, params.filter()) :
tableData;
var orderedData = params.sorting() ?
$filter('orderBy')(filteredData, params.orderBy()) :
filteredData;
params.total(orderedData.length);
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
});
}
html
<table ng-table="table.tableParams5" class="table" show-filter="true">
<tbody>
<tr ng-repeat="product_whole_data in $data">
<td data-title="'Image'" filter="{ 'image_url': 'text' }" sortable="'image_url'">
<div class="media">
<img src="{{product_whole_data.image_url}}" alt="Image" class="media-box-object img-responsive img-rounded thumb64">
</div>
</td>
<td data-title="'Product Name'" filter="{ 'title': 'text' }" sortable="'title'" class="text-center">{{product_whole_data.title}}</td>
<td data-title="'Seller Name'" filter="{ 'seller_name': 'text' }" sortable="'seller_name'" class="text-center">{{product_whole_data.seller_name}}</td>
<td data-title="'Price'" filter="{ 'price': 'text' }" sortable="'price'" class="text-center">{{product_whole_data.price}}</td>
<td data-title="'Product Rating'" filter="{ 'product_rating': 'text' }" sortable="'product_rating'" class="text-center">
<uib-rating ng-model="data.rate" max="table.max" readonly="table.isReadonly" on-hover="table.hoveringOver(value)" on-leave="overStar = null" state-on="'fa fa-star text-yellow'" state-off="'fa fa-star-o'"></uib-rating>
</td>
<td data-title="'Vendor Rating'" filter="{ 'vendor_rating': 'text' }" sortable="'vendor_rating'" class="text-center">{{product_whole_data.vendor_rating}}</td>
</tr>
</tbody>
</table>
视图.py
def product_data(request):
if request.method == "GET":
product_data_list = ReviewsData('starchifootwear').getProductData()
context_dict = {'product_whole_data':product_data_list[0],
'ratings_data':product_data_list[1]}
return HttpResponse(json.dumps(context_dict), content_type='application/json')
根据ng-table示例,您应该在控制器中创建
table.tableParams
变量。您还应该使用vm.tableParams
。你知道吗相关问题 更多 >
编程相关推荐