angularstrap typeahead 处理异步数据
2016-04-17 09:45
567 查看
使用 angularstrap typeahead 的时候下拉列表总是比输入的数据慢一步,注意下你的代码
需要注意数据源使用
getAddress($viewValue)
处理请求使用
then
监听选中列表的事件,加在你自己的控制器里即可
参考自 :点击打开链接
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script> <script src="//mgcrea.github.io/angular-strap/dist/angular-strap.js" data-semver="v2.1.3"></script> <script src="//mgcrea.github.io/angular-strap/dist/angular-strap.tpl.js" data-semver="v2.1.3"></script> <body ng-app="app"> <div ng-controller="firstCtrl"> <div class="form-group"> <label><i class="fa fa-home"></i> Address <small>(async via maps.googleapis.com)</small> </label> <input type="text" class="form-control" ng-model="selectedAddress" data-animation="am-flip-x" ng-options="address.formatted_address as address.formatted_address for address in getAddress($viewValue)" placeholder="Enter address" bs-typeahead> </div> </div> </body>
var app = angular.module('app', ['mgcrea.ngStrap']); app.controller('firstCtrl', function($scope, $http) { $scope.getAddress = function(viewValue) { var params = { address: viewValue, sensor: false }; return $http.get('http://maps.googleapis.com/maps/api/geocode/json', { params: params }) .then(function(res) { return res.data.results; }); }; });
需要注意数据源使用
getAddress($viewValue)
处理请求使用
then
监听选中列表的事件,加在你自己的控制器里即可
$scope.$on('$typeahead.select', function(value, index) { console.log(value); console.log(index); }
参考自 :点击打开链接
相关文章推荐
- AngularJS基础教程之简单介绍
- AngularJS中处理多个promise的方式
- angularJS 中$attrs方法使用指南
- 深入浅析AngularJS和DataModel
- 简述AngularJS相关的一些编程思想
- 不能不知道的10个angularjs英文学习网站
- AngularJS中的$watch(),$digest()和$apply()区分
- AngularJS的一些基本样式初窥
- 简单讲解AngularJS的Routing路由的定义与使用
- 创建你的第一个AngularJS应用的方法
- 详解AngularJS中的作用域
- Angular发布1.5正式版,专注于向Angular 2的过渡
- 简介AngularJS的视图功能应用
- AngularJS语法详解
- AngularJS 2.0新特性有哪些
- AngualrJS中的Directive制作一个菜单
- 在AngularJS框架中处理数据建模的方式解析
- angularJS与bootstrap结合实现动态加载弹出提示内容
- AngularJS实现全选反选功能
- angularjs中的e2e测试实例