角度只读评级星不显示通过s传递的值

2024-04-25 17:14:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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')

Tags: textdatatitletablevmparamsproductfilter
1条回答
网友
1楼 · 发布于 2024-04-25 17:14:24

根据ng-table示例,您应该在控制器中创建table.tableParams变量。您还应该使用vm.tableParams。你知道吗

vm.tableParams = new NgTableParams({}, { dataset: response.data.product_whole_data});

相关问题 更多 >

    热门问题