ホームページ >ウェブフロントエンド >jsチュートリアル >ディレクティブを使用したAngularjsレンダリングの星評価システムの実装について
この記事では主に、Angularjs によってレンダリングされた using ディレクティブのスター評価システムの例を紹介します。これが、Angularjs をよりよくマスターするのに役立つことを願っています。
この記事では、Angularjs でレンダリングされた using ディレクティブの星評価システムの例を紹介し、皆さんに共有します。詳細は次のとおりです:
Angularjs/ion を静的に使用する、あまり効果のない星評価システムを作成してみました。 。しかし、現状では画面に何も出力されません…何か間違っているのでしょうか?
service.html
<ion-list> <ion-item ng-repeat="business in businessList track by $index" class="item-icon-right"> <h2>{{business.name}}</h2> {{business.distance}} miles <br> <p star-rating rating-value="{{business.rating}}" max="rating.max"></p> <i class="icon ion-chevron-right icon-accessory"></i> </ion-item> </ion-list>
directives.js
angular.module('starter.directives', []) .directive('starRating', function() { return { restrict: 'A', template: '<ul class="rating">' + '<li ng-repeat="star in stars" ng-class="star">' + '\u2605' + '</li>' + '</ul>', scope: { ratingValue: '=', max: '=' }, link: function(scope, elem, attrs) { scope.stars = []; for (var i = 0; i < scope.max; i++) { scope.stars.push({ filled: i < scope.rating }); } } } });
services.js
.service("BusinessData", [function () { var businessData = [ { id: 1, serviceId: 1, name: 'World Center Garage', distance: 0.1, rating: 4 } ]; return { getAllBusinesses: function () { return businessData; }, getSelectedBusiness: function(serviceId) { var businessList = []; serviceId = parseInt(serviceId); for(i=0;i<businessData.length;i++) { if(businessData[i].serviceId === serviceId) { businessList.push(businessData[i]); } } return businessList; } } }])
controller.js
.controller('ServiceCtrl', function($scope, ServicesData, BusinessData, $stateParams) { $scope.service = ServicesData.getSelectedService($stateParams.service); $scope.businessList = BusinessData.getSelectedBusiness($stateParams.service); });
解決策 1:
controller.js
.controller('ServiceCtrl', function($scope, ServicesData, BusinessData, $stateParams) { $scope.service = ServicesData.getSelectedService($stateParams.service); $scope.businessList = BusinessData.getSelectedBusiness($stateParams.service); $scope.ratings = { current: 5, max: 10 };
Kazuyaがservice.htmlを修正しました
<p star-rating rating-value="rating.current" max="rating.max"></p>
関連推奨事項:
以上がディレクティブを使用したAngularjsレンダリングの星評価システムの実装についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。