首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vue折腾记 - (3)写一个不大靠谱的typeahead组件

前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的typeahead; 你能学到什么?...ESC和blur事件清除输入框,没有找到匹配的情况下 Enter默认在找到只剩下一个情况下选中 方向盘的上下(已经阻止光标的移动)选中子项,回车选中 鼠标点击选择子项 搜索框清空情况下默认不触发自定义事件值的返回...鼠标移动+键盘方向键移动位置的同步 placeholder及遍历数据data支持外部传入,也就是绑定props;前者字符串,后者数组对象 ---- 代码 typeahead.vue typeahead"> typeahead-header"> <input type="text" v-model="searchVal...data: function () { return { searchVal: '', // 搜索关键字 resultVal: '', // 保存搜索到的值

67610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    bootstrap-typeahead 自动补全简单的使用教程

    1、bootstrap-typeahead 自动补全简单的使用教程,自动补全,使用起来看似很厉害的样子,同事使用的select2,我们老总建议我用的是typehead,发现typehead...并不是很好使,先简单把使用过程总结一下,然后再使用select2看看,那个更加方便一些吧,毕竟用起来心累的东西,确实很难受啊。...项目结构如下所示: 2、页面代码如下所示: 案例一,是定义一个变量,所搜索的都是变量里面的值的时候...其中alias是自己传递到action的变量,由于公司使用的是struts,所以呢,自己使用模型驱动还是属性驱动,或者其他框架,自己看事哈。...,然后,将这个数组作为参数,调用 process 函数。

    1.8K30

    Angular快速学习笔记(4) -- Observable与RxJS

    多播的核心是,将observers放到一个数组,然后遍历 function multicastSequenceSubscriber() { const seq = [1, 2, 3]; // Keep...,它让组合异步代码和基于回调的代码变得更简单,RxJS 提供了一种对 Observable 类型的实现.。...中的observables Angular 中大量使用了可观察对象,作为处理各种常用异步操作的接口。...HTTP 模块使用可观察对象来处理 AJAX 请求和响应 路由器和表单模块使用可观察对象来监听对用户输入事件的响应 事件发送器 EventEmitter Angular 提供了一个 EventEmitter...反之,你可以使用一系列操作符来按需转换这些值 HTTP 请求是可以通过 unsubscribe() 方法来取消的 请求可以进行配置,以获取进度事件的变化 失败的请求很容易重试 Async 管道 AsyncPipe

    5.2K20

    用AngularJS来实现异步数据的购物车功能设计

    我们来看一个稍微大一点的例子,它将会展示Angular的更多特性。想象一下,我们打算构建一款购物应用,需要在应用中的某个地方展示用户的购物车,并且用户能够对其进行编辑。...我们直接跳到购物车这个部分: 最终UI截屏如图所示。 下面是对这段代码的一个概要解释,本书后续的内容将会对此做更深入的解析。...通常情况下你只需要这么做就可以了,但是,如果你打算把Angular集成到一个现有的应用中,而这个应用使用了其他的方式来管理页面,那么你可能需要把ng-app属性放到应用中的一个 上。...在函数的形参中放一个$scope就可以告诉Angular:控制器需要一个叫做$scope的东西。我们可以通过$scope把数据绑定到UI中的元素上。...我们想让这些项目能够对UI的数据绑定有效,所以我们要把它们设置到$scope上。当然,这个例子的真实版本不可能只是在内存里面运行,它还需要与服务端进行交互并正确地把数据持久化。

    1.5K60

    【Hybrid开发高级系列】AngularJS(一)——基础专题

    ,可以用空格分割多个类名,如’redtext boldtext’;     2) 类名数组,数组中的每一项都会层叠起来生效;     3) 一个名值对应的map,其键值为类名,值为boolean类型,当值为...2.1.1.6 ng-style         ng-style用来绑定元素的css样式,其表达式的返回值为一个js对象,键为css样式名,值为该样式对应的合法取值。...configFn: 模块的启动配置函数,在angular config阶段会调用该函数,对模块中的组件进行实例化对象实例之前的特定配置,如我们常见的对$routeProvider配置应用程序的路由信息。...使用filter过滤器:filter函数使用query的值来创建一个只包 匹配query记录的新数组。         ngRepeat会根据filter过滤器生成的手机记录数据数组来自动更新视图。...(需预先定义好状态)     • 考虑兼容性问题与"优雅降级" 2.7.2.2 Angular-UI-Router使用技巧 ui-sref 指令链接到特定状态 ui-sref="home">Home

    55080

    前端面试题angular_Vue前端面试题

    2,ng-repeat迭代数组的时候,如果数组中有相同值,会有什么问题,如何解决? 会提示 Duplicates in a repeater are not allowed....当然,也可以 trace by 任何一个普通的值,只要能唯一性标识数组中的每一项即可(建立 dom 和数据之间的关联)。 3,ng-click 中写的表达式,能使用 JS 原生对象上的方法吗?...AngularJS在scope变量中使用脏值检查来实现了数据双向绑定,并且可以通过scope.watch来监听变化触发回调; angular中使用的是脏检查机制,在angular中每次你绑定一些东西到你的...循环中被“脏值检查”解析,在digest将会遍历我们的watch,然后询问它是否有属性和值的变化,直到watch队列都检查过,在检查数据变化的时候,由于并不知道这个事件是对哪些数据进行了更改,以及这个事件有可能造成事件之外的其他任何地方的数据更改...使用 ui.router 能够定义有明确父子关系的路由,并通过 ui-view 指令将子路由模版插入到父路由模板的 ui-view>中去,从而实现视图嵌套。

    14.1K20

    WebStorm for Mac(JavaScript开发工具)中文版

    WebStorm for Mac(JavaScript开发工具)中文版使用JavaScript解构通过解构,您可以使用非常简洁的语法将数组和对象中的值解压缩到变量中。...对Angular应用程序的新检查对于Angular应用程序,WebStorm添加了17项新检查,可帮助您在键入时检测应用程序中的Angular特定错误,并建议快速修复。...Angular项目中的导航更容易在Angular应用程序中,您现在可以使用相关符号...弹出窗口(Ctrl-Cmd-Up / Ctrl + Alt + Home)在不同的组件文件(如TypeScript...React钩子的提取方法该提取方法重构现在与当地的功能和使用解构的返回值,使得它非常适合提取自定义作出反应挂钩。...新的UI主题您现在可以在WebStorm中使用新的丰富多彩的UI主题作为插件。选择 深紫色,灰色和 青色光主题,或创建自己的主题 。

    5K50

    Hoppscotch:开源 API 开发工具,快捷实用 | 开源日报 No.77

    该项目主要功能包括: 安全存储:可将任意键/值类型的密钥存储在 Vault 中,并对其进行加密后再写入持久化存储介质,以确保即使获取原始数据也无法直接获得其中保存着的机敏信息。...Angular 团队构建和维护的,包括常见 UI 组件和工具,以帮助开发者构建自定义组件。...该项目维护了几个 npm 软件包: @angular/cdk:帮助开发者使用常见交互模式编写自定义 UI 组件的库。...@angular/material:为 Angular 应用提供 Material Design 风格的 UI 组件。...主要特点: 提供了一套全新、面向未来并富有前瞻性的 React 组件 支持渐进式迁移至最新版 (FluentUI V9) 包含对老版本 (如 V8) 已经广泛使用过程中积累下来的较为完善且稳定可靠等的功能

    48610

    浅谈 Angular 项目实战

    本文就是对该项目的一些总结及思考。 搭建开发环境 开发环境的搭建非常简单,使用 Angular CLI 几乎可以完成所有工作,但是在与后端联调接口的时候,还需要做一些自定义配置。...UI 库的选择需要根据样式决定,比如我的项目使用的是 Bootstrap,所以 UI 库选择了和 Bootstrap 相关的 ngx-bootstrap。...不过 Angular 的模板驱动表单并没有复选框的多选绑定,如果有这个需求,可以选择更加灵活强大的响应式表单进行数据绑定。其实,对于数组形式的数据可以使用天然的 select 多选框实现。...然而复选框的 value 值只有 true 或者 false,而 select 多选框的 value 值就是数组。所以 Vue 对复选框的多选操作进行了处理,而 Angular 没有,需要你自己处理。...Angular 官网对可观察对象(Observable)和承诺(Promise)进行了对比。 需要特别注意的就是,只有当订阅 Observable 的实例时,它才会开始发布值。

    4.6K00

    五年 Web 开发者 star 的 github 整理说明

    有时候想查阅以前star的库,但不好找,github大多库都是英文说明,对中文开发者不太友好,这里整理下收集的github库,方便需要的时候查阅。...饿了么前端团队的移动端Vue组件库 Semantic-Org/Semantic-UI UI组件库 visionmedia/page.js 前端路由器组件 websockets/ws 前端websocket...jQuery-Autocomplete 输入框自动完成的库 dyve/jquery-autocomplete 输入框自动完成的库 xdan/autocomplete 输入框自动完成的库 twitter/typeahead.js...CodeSeven/toastr 提示框组件 janl/mustache.js 前端模版引擎 dcloudio/mui 移动端开发框架 h5bp/mobile-boilerplate 移动端快速开发模版 angular.../angular.js 现代化组件化开发框架 expressjs/express node web开发框架 carhartl/jquery-cookie 前端操作cooki的jquery插件 ringo

    8.9K50

    前端-现代 js 框架存在的根本原因

    我曾见过很多很多人盲目地使用(前端)框架,如 React,Angular 或 Vue 等等。...这个表单的状态,可以被设计为一个数组,里面包含若干对象,对象由邮箱地址和唯一标识组成。开始的时候,数组为空。当(用户)输入邮箱地址并按下回车键之后,往数组中添加一项并更新 UI。...当用户点击删除按钮时,删除(数组中对应的)邮箱地址并更新 UI。你感觉到了吗?每当你改变状态时,你都需要更新 UI。 (你可能会说:)那又怎样?...很多时候,人们会把 React、 Angular 和 Vue.js (等框架)与 Web components 进行对比。这显然体现了人们并不理解这些框架所提供的最大好处:保持 UI 与状态同步。...现在 UI 是声明式的,我们并未使用任何框架。我们能任意添加新逻辑来改变状态的同时,不需要编写额外的代码来保持 UI 同步。问题解决了! 现在,除了事件处理之外,这看起来就像个 React 应用对吧?

    2.8K10

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    官网或git下载,地址:https://github.com/angular/ 2)、使用cdn 3)、安装node.js,使用npm获取 示例代码: angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...如果表达式结果为一个数组,则数组中每个元素为使用空格分隔的一个或多个类名字符串。 如果表达式结果为一个对象,对象中的每个key-value中如果键值为真时则键名作为类名。...练习:购物车 1、双向绑定集合中的数据 2、执行移除事件 3、隔行换色、使用angularJS完成 4、点击数量与小计时进行排序(选做) 三、区分UI和控制器的职责 控制器的职责: 1、为应用中的模型设置初始状态...--指定angular托管的范围--> 区分UI

    15.4K100

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    /angular/ 2)、使用cdn 3)、安装node.js,使用npm获取 示例代码: angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...练习: 实现对一个学生对象数组进行如下操作 添加、删除、修改、搜索、排序 ?...4.4、删除 移除最后一个元素并返回该元素值 arrayObj.pop(); 移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.shift();  删除从指定位置deletePos开始的指定数量...4.8、合并成字符 返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。

    12.6K30

    一步一步学Vue (一)

    ,我知道angular也是简单一个指令就可以做到,这里和angular在使用上做一个类比,可以看到,在当前的代码中创建Vue对象的时候,传递的参数{el:'#id',data:{message:'hellow...中不同,angular中事件也是绑定在$scope对象中的,只不过值是function而已,在vue中,对事件绑定和属性绑定进行了区分,分别使用data和methods代理,这样也在逻辑上更清晰,指责上更单一...vue中,有没有类似的指令呢,查文档发现的确有一指令叫做v-for,用法和作用都和ng-repeat类似,基于ng-repeat经验,我们使用v-for对todolist进行渲染,修改代码如下: <table...,及动态刷新了列表: 有添加就有删除,接下来,我们列表中,增加删除操作,和所有mvvm框架一样,我们考虑的出发点一定要规避dom,一定要从数据驱动UI的方式来思考,如果删掉UI项,那么根据数据驱动UI...的使用经验,这里增加的方式有些区别,angular在ng-repeat中有内置变量index,所以在事件处理上,我们就会通过index作为数组项索引,事件绑定也会类似ng-click="remove(

    3.6K20

    【17】进大厂必须掌握的面试题-50个Angular面试

    在Angular中,什么是字符串插值? Angular中的字符串插值是一种特殊的语法,它在双花括号 {{}}中使用模板表达式来显示组件数据。它也称为小胡子语法。...Angular中的Annotation和Decorator有什么区别? 使用Reflect Metadata库,角度注释是类的“唯一”元数据集。它们用于创建“注释”数组。...Angular中的提供程序是什么? 提供程序是Angular中的可配置服务。这是对依赖关系注入系统的一条指令,它提供有关获取依赖关系值的方式的信息。...在 单向数据绑定中,无论何时更改数据模型,“视图”或“ UI”部分都不会自动更新。您需要手动编写自定义代码,以便在每次视图更改时对其进行更新。...31.通过对Angular进行脏检查,您了解什么? 在Angular中,摘要过程称为脏检查。之所以调用它,是因为它扫描整个范围以进行更改。换句话说,它将所有新的作用域模型值与以前的作用域值进行比较。

    41.5K51

    实战 | Change Detection And Batch Update

    Angular1 Dirty Checking Angular1通过脏值检测去更新UI,所谓的脏值检测其实指Angular1从$rootScope开始遍历所有scope的$$watchers数组,通过比较新老值来决定是否更新...如果我们不使用Angular1提供的事件系统、定时器和$http,如在jQuery事件中进行数据更新时,我们需要手动调用$apply。...Angular2 当数据变化时,Angular2从根节点往下遍历进行更新,默认Angular2深度遍历数据,进行新老数据的比较来决定是否更新UI,这点和Angular1的脏值检测有点像,但是Angular2...Angular1是通过封装自动调用$apply,但是存在手动调用的场景,为了解决这个问题,Angular2没有采用1的实现机制,转而使用了Zone.js。...Angular2更新机制大体如下: ngZone是对Zone.js的服务封装,Angular2会在每个task执行结束后触发更新。

    3.2K20
    领券