GVKun编程网logo

AngularJS轻松实现双击排序的功能(angular 双击事件)

13

本篇文章给大家谈谈AngularJS轻松实现双击排序的功能,以及angular双击事件的知识点,同时本文还将给你拓展Angularjsmaterial实现搜索框功能_AngularJS、angular

本篇文章给大家谈谈AngularJS轻松实现双击排序的功能,以及angular 双击事件的知识点,同时本文还将给你拓展Angularjs material 实现搜索框功能_AngularJS、angularjs ng-model 不能实现双向绑定、angularjs – Angular ui grid双击事件设置、angularjs – Angulargrid中的自定义排序 – 排序不区分大小写等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

AngularJS轻松实现双击排序的功能(angular 双击事件)

AngularJS轻松实现双击排序的功能(angular 双击事件)

话不多说,直接看示例代码

HTML代码

 <th><a href="" ng-click="desc(''2'',la=!la)">单价</a></th>
 <th><a href="" ng-click="desc(''3'',la=!la)">销售金额</a></th>
 <th><a href="" ng-click="desc(''4'',la=!la)">销售数量</a></th>

其中 la=!la 是用来判断当前点击是true还是false

JS代码

//开始默认为totalnum字段 按照降序排列

$scope.foodsale =ret.sort(function ( x,y )
    {
     return y.totalnum - x.totalnum;//这样表示 按照ret【表示接收返回数组】里面的totalnum字段 按照降序排列 反之 return x.totalnum - y.totalnum; 为升序
})
  

 $scope.desc= function (fla,bol) {
   if(fla=="4"){
    if(bol==false){
     
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
     {
      return y.totalnum - x.totalnum;
     })
    }else{
     console.log("bbb")
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
     {
      return x.totalnum - y.totalnum;
     })
    }
   }else if(fla=="3"){//totalmoney
    if(bol==false){
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
     {
      return y.totalmoney - x.totalmoney;
     })
    }else{
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
      {
       return x.totalmoney - y.totalmoney;
      }
     )
    }
   }else if(fla=="2"){//price
    if(bol==false){
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
     {
      return y.price - x.price;
     })
    }else{
     $scope.foodsale =$scope.foodsale.sort(function ( x,y )
      {
       return x.price - y.price;
      }
     )
    }
   }

总结

好了,以上就是AngularJS实现双击排序功能的全部内容,通过以上示例代码便可实现双击排序,希望对大家学习AngularJS能有所帮助。

您可能感兴趣的文章:
  • AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
  • Angularjs添加排序查询功能的实例代码
  • mongoDB 多重数组查询(AngularJS绑定显示 nodejs)
  • Angularjs分页查询的实现
  • AngularJS 过滤与排序详解及实例代码
  • AngularJS ng-table插件设置排序
  • angular-ui-sortable实现可拖拽排序列表
  • 妙用Angularjs实现表格按指定列排序
  • Angular排序实例详解
  • angular过滤器实现排序功能
  • Angularjs使用过滤器完成排序功能
  • Angular实现的自定义模糊查询、排序及三角箭头标注功能示例

Angularjs material 实现搜索框功能_AngularJS

Angularjs material 实现搜索框功能_AngularJS

angular-material 是 angularjs 的一个子项目,用来提供实现了 material design 风格的组件。

Material 提供了大量的android 风格的UI组件,使用 angularjs + Material 可以很容易开发出风格接近原生 Android 5.x 的web界面。但在实际使用的过程中并不总是能满足我们的需求。开发一个组件就成了我们必须学习的内容。

下面是一个组件的实现:

//前面省略若干代码 
directive(''mdSearchInput'',[function(){ 
return{ 
restrict:''E'', 
controller:[''$scope'',''$timeout'',function($scope,$timeout){ 
var tsk=null; 
$scope.delay=1000; 
$scope.on_changed=function(){ 
if(null !== tsk) {$timeout.cancel(tsk);} //去掉前一个任务 
tsk = $timeout(function(){ 
$timeout.cancel(tsk);tsk=null; 
$scope.onSearch()($scope.searchText); 
},$scope.delay); 
};$scope.on_clear=function(){ 
var tsk=null;$scope.searchText=''''; 
tsk=$timeout(function(){ 
$timeout.cancel(tsk);tsk=null; 
$scope.onSearch()($scope.searchText); 
},100); 
} 
}], 
scope:{ 
inputName: ''@mdInputName'', 
searchText: ''=&#63;mdSearchText'', 
onSearch: ''&&#63;mdSearch'', 
placeholder: ''@placeholder'', 
delay: ''@delay'' 
}, 
template:''<divlayout="row">\ 
<input type="text" flex autocomplete="off" ng-model="searchText" name="{{inputName}}" placeholder="{{placeholder}}" ng-change="on_changed()" />\ 
<md-buttonng-click="on_clear()" ng-show="searchText!==\''\''"><md-icon md-svg-icon="md-close"></md-icon></md-button>\ 
</div>'', 
link:function($scope, $element){ 
} 
}; 
}]);
登录后复制

CSS 样式:

.md-search-input{ 
box-sizing: border-box;border: none;box-shadow: none;background: 0 0; border-radius:5px;background: #FFF;margin:0px;position: relative; 
input{outline: 0;font-size: 14px; width: 100%; padding: 0 15px; line-height: 40px;height: 40px;border: none;background:transparent;} 
button,.md-fab,.md-button,button:hover,.md-fab:hover { 
background:transparent !important; 
line-height:40px;height:40px;width:40px;font-size:14px;box-shadow:none !important;margin:0px;padding:0px; 
color:rgba(0,0,0,0.5) !important; 
} 
}
登录后复制

配合 ng-route 可以很容易实现无刷新的APP 让您的web页面更加接近app体验,
在 maincontroll中,通过监听 ng-route 的页面即将跳转事件 来重置消息框,

//在页面改变之前,重置搜索框. 
$scope.$on(''SearchText.Reset'',function(){ $scope.searchConfig={show:false, key:'''',delay:1200};}); 
$rootScope.$on(''$routeChangeStart'', function (event, next) { 
$rootScope.$broadcast(''SearchText.Reset''); 
});
登录后复制

而在需要用到搜索功能的地方,则只需要在控制器里通过如下代码实现:

//陪值搜索框为己用 
$scope.$emit(''Search.Config'',{ 
show:true, key:'''',delay:800, 
emptyText:"请输入:商家名称,账号,电话 等内容以进行搜索.", 
onSearch: function(){ 
return function(v){ 
$scope.merData.query(v); //调用本控制器的数据查询接口. 
} 
} 
});
登录后复制

以上所述是小编给大家介绍的Angularjs material 实现搜索框功能,希望对大家有所帮助!

angularjs ng-model 不能实现双向绑定

angularjs ng-model 不能实现双向绑定

angularjs ng-model 不能实现双向绑定

查找原因发现在 ng-model 外有 ng-if 判断,ng-if 为 false 时不加载元素。修改为 ng-show 即实现双向绑定.......

angularjs – Angular ui grid双击事件设置

angularjs – Angular ui grid双击事件设置

所以我试图让我的Angular UI Grid在整行上注册一个双击事件来打开一个模态.我可以从toasttr吐司开始然后从那里开始.这是我最接近的基于各种演示和在线示例,但我似乎无法让它工作.

控制器:

$scope.gridHandlers = {
  onDblClick: function(rowItem){
    toastr.success(rowItem,'Row Item:')
  }
}
$scope.gridOptions = {
  onRegisterapi : function(gridApi){
    $scope.gridApi = gridApi
  },data: $scope.customerList,enableRowHeaderSelection: false,enableRowSelection: true,enableSelectAll: false,multiSelect: false,noUnselect: true,rowTemplate: '<div ng-dblclick="getExternalScopes().onDblClick(row)" external-scopes="gridHandlers" ng-repeat=\"(colRenderIndex,col) in colContainer.renderedColumns track by col.colDef.name\" class=\"ui-grid-cell\" ng-class=\"{ \'ui-grid-row-header-cell\': col.isRowHeader }\" ui-grid-cell></div>',columnDefs : [
  {name: 'name',type: 'string'},...etc
  {name: 'status_name',displayName: 'Status',width: '11%',type: 'string'}
]

视图:

<divui-grid="gridOptions" ui-grid-selection external-scopes="gridHandlers">

我尝试过使用他们谈论的grid.appScope方法以及其他所有方法,但我无法让它工作.我在哪里,完全关闭?

解决方法

grid.appScope对我有用.请参阅 plnkr(双击任意行查看行数据)

angularjs – Angulargrid中的自定义排序 – 排序不区分大小写

angularjs – Angulargrid中的自定义排序 – 排序不区分大小写

我正在使用ag-grid来生成一些表.到目前为止它一直很棒.但是我在排序方面遇到了一些困难,因为我的表有一些小写的数据,我希望我的排序函数忽略大小写并对它们进行排序只是区分大小写.

可以完成这项工作的两个功能是cellRenderer和sort函数.

cellRenderer函数:

cellRenderer: function(params) {
    if (params.value=='Police') {
        return 'POLICE';
    } else {
        return params.value.toupperCase();
    }
}

排序功能:

$scope.sortByAthleteAsc = function() {
    var sort = [
        {field: 'athlete',sort: 'asc'}
    ];
    $scope.gridOptions.api.setSortModel(sort);
};

这是提供的两个例子.如何连接这两个函数以生成表格不区分大小写的排序?

解决方法

将比较器放在colDef上.如下:

colDef.comparator = function(valueA,valueB,nodeA,nodeB) {
    // here valueA and valueB are the items to be compared
    return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
}

您还可以获得行节点,您可以在其中访问完整行数据,而不仅仅是col的特定值.

今天的关于AngularJS轻松实现双击排序的功能angular 双击事件的分享已经结束,谢谢您的关注,如果想了解更多关于Angularjs material 实现搜索框功能_AngularJS、angularjs ng-model 不能实现双向绑定、angularjs – Angular ui grid双击事件设置、angularjs – Angulargrid中的自定义排序 – 排序不区分大小写的相关知识,请在本站进行查询。

本文标签: