亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

AngularJS實現(xiàn)星星等級評分功能

 更新時間:2016年09月24日 15:20:51   作者:大禹不治水  
這篇文章主要為大家詳細介紹了AngularJS實現(xiàn)星星等級評分功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

星期六加班,教育后臺也要有星級評分等級的需求,醉了……基本知道些怎么做,網(wǎng)上也隨便找了找,沒什么合意的,畢竟需求不同,也不能完全一樣不是。學(xué)習(xí)之,改之╮(╯▽╰)╭

Directive 

angular.module('XXX').directive('stars', stars);

 function stars() {
  var directive = {
   restrict: 'AE',
   template: '<ul class="rating" ng-mouseleave="leave()">' +
    '<li ng-repeat="star in stars" ng-class="star" ng-click="click($index + 1)" ng-mouseover="over($index + 1)">' +
    '<i class="glyphicon glyphicon-star stars"></i>' +
    '</li>' +
    '</ul>',
   scope: {
    ratingValue: '=',
    hoverValue: '=',
    max: '=',
    onHover: '=',
    onLeave: '='
   },
   controller: startsController,

   link: function(scope, elem, attrs) {
    elem.css("display", "block");
    elem.css("text-align", "center");
    var updateStars = function() {
     scope.stars = [];
     for (var i = 0; i < scope.max; i++) {
      scope.stars.push({
       filled: i < scope.ratingValue
      });
     }
    };
    updateStars();

    var updateStarsHover = function() {
     scope.stars = [];
     for (var i = 0; i < scope.max; i++) {
      scope.stars.push({
       filled: i < scope.hoverValue
      });
     }
    };
    updateStarsHover();

    scope.$watch('ratingValue', function(oldVal, newVal) {
     if (newVal) {
      updateStars();
     }
    });
    scope.$watch('hoverValue', function(oldVal, newVal) {
     if (newVal) {
      updateStarsHover();
     }
    });
   }


  };

  return directive;

  /** @ngInject */
  function startsController($scope) {
   // var vm = this;
   $scope.click = function(val) {
    $scope.ratingValue = val;
   };
   $scope.over = function(val) {
    $scope.hoverValue = val;
   };
   $scope.leave = function() {
    $scope.onLeave();
   }

  }
 }

CSS 

.rating {

 color: #a9a9a9;
 margin: 0;
 padding: 0; 
 text-align: center;

}
ul.rating {
 display: inline-block;

}
.rating li {
 list-style-type: none;
 display: inline-block;
 padding: 1px;
 text-align: center;
 font-weight: bold;
 cursor: pointer;
}

 

.rating .filled {
 color: #f00;
}
.rating .stars{

 font-size: 20px;

 margin-right: 5px;

}

Controller 

  //星星等級評分
  $scope.max = 6;
  $scope.ratingVal = 6;
  $scope.hoverVal = 6;//我這需求是默認六個星全滿(淡騰,反正也招不出神龍.因為還差一個.)一般的話,ratingVal和hoverVal都寫0就可以了。
  $scope.onHover = function(val) {
   $scope.hoverVal = val;
  };
  $scope.onLeave = function() {
   $scope.hoverVal = $scope.ratingVal;
  }
  $scope.onChange = function(val) {
   $scope.ratingVal = val;
  }

HTML

<stars rating-value="ratingVal" hover-value="hoverVal" max="max" on-hover="onHover" on-leave="onLeave"></stars>
ratingVal:{{ratingVal}};<br/>
hoverVal:{{hoverVal}}

說幾句, 星星那東西,可以直接輸入法敲出來,也可以用unicode搞出來,字體文件什么的都行,你要硬用圖片的話……把ngClass換成ngSrc也可以試試,代碼改改也行,精靈圖改改background-position也湊合過,╮(╯▽╰)╭ 想了一下,比較累,祝你成功。

如果是那種商城網(wǎng)站只是要看評價等級的話,復(fù)用代碼也可以,加個readonly屬性。 

directive:
 scope: {
  readonly: '@'
 }
  function startsController($scope) {
   // var vm = this;
   $scope.click = function(val) {
    if ($scope.readonly) {
     return;
    }
    $scope.ratingValue = val;
   };
   $scope.over = function(val) {
    if ($scope.readonly) {
     return;
    }
    $scope.hoverValue = val;
   };

  }

controller:
 $scope.readonly = false;

html:
 readonly={{readonly}}.

寫到這,突然意識到今后一定會改需求,加功能(已然習(xí)慣)。我還是默默地加上readonly吧……

指令這玩意,深了很繞,我也弄不熟,每次寫還得翻翻以前寫的代碼,畢竟渣渣。每次不要復(fù)用的代碼,我都懶得用指令,畢竟菜鳥。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • AngularJS入門教程之XHR和依賴注入詳解

    AngularJS入門教程之XHR和依賴注入詳解

    本文主要介紹AngularJS XHR和依賴注入,這里整理了詳細資料和示例代碼,有興趣的小伙伴可以參考下
    2016-08-08
  • 用Angular實時獲取本地Localstorage數(shù)據(jù),實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果

    用Angular實時獲取本地Localstorage數(shù)據(jù),實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果

    這篇文章主要介紹了用ANGULAR實時獲取本地LOCALSTORAGE數(shù)據(jù),實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • angular.js實現(xiàn)購物車功能

    angular.js實現(xiàn)購物車功能

    這篇文章主要為大家詳細介紹了angular.js購物車功能的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • angular中的post請求處理示例詳解

    angular中的post請求處理示例詳解

    這篇文章主要給大家介紹了關(guān)于angular中post請求處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用angular具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 自學(xué)實現(xiàn)angularjs依賴注入

    自學(xué)實現(xiàn)angularjs依賴注入

    這篇文章主要為大家詳細介紹了angularjs依賴注入的自己成果,如何實現(xiàn)angularjs依賴注入,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 如何在Angular.JS中接收并下載PDF

    如何在Angular.JS中接收并下載PDF

    最近這兩天公司正在做一個PDF協(xié)議下載的功能,目前的解決方案可以分為完全前端生成和后端生成兩種方式。前端生成PDF有jsPDF 和pdfmake 兩種方式,下面這篇文章就給大家分享下如何在Angular.JS中接收并下載PDF的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Angular環(huán)境搭建及簡單體驗小結(jié)

    Angular環(huán)境搭建及簡單體驗小結(jié)

    Angular基于TypeScript和react、vue相比 Angular更適合中大型企業(yè)級項目,本文通過實例代碼給大家分享Angular環(huán)境搭建及簡單體驗,感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2021-05-05
  • AngularJS整合Springmvc、Spring、Mybatis搭建開發(fā)環(huán)境

    AngularJS整合Springmvc、Spring、Mybatis搭建開發(fā)環(huán)境

    這篇文章主要介紹了AngularJS整合Springmvc、Spring、Mybatis搭建開發(fā)環(huán)境的相關(guān)資料,為學(xué)習(xí)使用AngularJS做好基礎(chǔ)準備,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Angular.JS利用ng-disabled屬性和ng-model實現(xiàn)禁用button效果

    Angular.JS利用ng-disabled屬性和ng-model實現(xiàn)禁用button效果

    這篇文章主要介紹了Angular.JS利用ng-disabled屬性和ng-model實現(xiàn)禁用button效果的相關(guān)資料,文中給出了詳細的示例代碼,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • 由淺入深剖析Angular表單驗證

    由淺入深剖析Angular表單驗證

    這篇文章主要介紹了由淺入深剖析Angular表單驗證 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07

最新評論