获取唯一识别码:
Device ID
唯一的设备ID,如GSM网络的IMEI,CDMA网络的MEID / ESN,可能返回null(API文档的描述)
只对手机设备有效,对于不在手机网络的设备,会返回null
获取到的Device ID值,即使设备恢复出厂设置也不会改变
需要READ_PHONE_STATE权限
某些设备的Device ID实现有bug,会返回0或
TelephonyManager
tm
=
(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String
deviceId
=
tmgetDeviceId();
当你使用这种方式时,我们会马上导航和渲染组件,然后在组件的 created 钩子中获取数据。这让我们有机会在数据获取期间展示一个 loading 状态,还可以在不同视图间展示不同的 loading 状态。
假设我们有一个 Post 组件,需要基于 $routeparamsid 获取文章数据
在导航完成前获取数据
通过这种方式,我们在导航转入新的路由前获取数据。我们可以在接下来的组件的 beforeRouteEnter守卫中获取数据,当数据获取成功后只调用 next 方法。
说实话,阅读文档并不是我们大多数人喜欢的事情,但是当使用像Vue这样不断发展的现代前端框架时,每一个新版本都会有所变化,我们很有可爱已经错过了一些后来推出的新且好用的功能。
今天,刷碗智带大家来看看那些有趣但不那么流行的功能。记住,所有这些都是官方Vue文档的一部分。
在大型项目中,我们可能需要将组件分成小块,只有在需要时才从服务器上加载。为了更容易做到这一点,Vue允许我们将组件定义为一个工厂函数,异步地解析组件定义。Vue只会在组件需要渲染的时候触发工厂函数,并把结果缓存起来以备后面的重新渲染。23版的新内容是,异步组件工厂还可以返回以下格式的对象。
使用这种方法,我们有额外的选项,包括加载和错误状态、组件获取的延迟和超时。
渲染普通的 HTML 元素在 Vue 中是非常快速的,但有的时候你可能有一个组件,这个组件包含了大量静态内容。在这种情况下,我们可以在根元素上添加 v-once attribute 以确保这些内容只计算一次然后缓存起来,就像这样:
组件是可以在它们自己的模板中调用自身的。不过它们只能通过 name 选项来做这件事:
当你使用 Vuecomponent 全局注册一个组件时,这个全局的 ID 会自动设置为该组件的 name 选项。
稍有不慎,递归组件就可能导致无限循环:
类似上述的组件将会导致 “max stack size exceeded” 错误,所以请确保递归调用是条件性的 (例如使用一个最终会得到 false 的 v-if )。
当 inline-template 这个特殊的 attribute 出现在一个子组件上时,这个组件将会使用其里面的内容作为模板,而不是将其作为被分发的内容。这使得模板的撰写工作更加灵活。
内联模板需要定义在 Vue 所属的 DOM 元素内。
指令的参数可以是动态的。例如,在 v-mydirective:[argument]="value" 中, argument 参数可以根据组件实例数据进行更新!这使得自定义指令可以在应用中被灵活使用。
例如你想要创建一个自定义指令,用来通过固定布局将元素固定在页面上。我们可以像这样创建一个通过指令值来更新竖直位置像素值的自定义指令:
对于 passive 、 capture 和 once 这些事件修饰符,Vue 提供了相应的前缀可以用于 on:
修饰符前缀 passive& capture! once~ captureonce 或oncecapture~!
例如:
对于所有其它的修饰符,私有前缀都不是必须的,因为你可以在事件处理函数中使用事件方法:
修饰符处理函数中的等价 *** 作 stopeventstopPropagation() preventeventpreventDefault() selfif (eventtarget !== eventcurrentTarget) return 按键:enter, 13if (eventkeyCode !== 13) return (对于别的按键修饰符来说,可将 13 改为另一个按键码) 修饰键:ctrl, alt, shift, metaif (!eventctrlKey) return (将 ctrlKey 分别修改为 altKey、shiftKey 或者 metaKey)
在Vue中,有几种方法可以让两个组件进行通信,所有这些方法都有优点和缺点。 22 版本中引入的一种新方法是使用 Provide/Inject 的依赖注入。
这对选项一起使用,允许一个祖先组件作为其所有后代的依赖注入器,无论组件层次有多深,只要它们在同一个父链上。如果你熟悉React,这与React的上下文功能非常相似。
今天就到这了,就这?
~完,我是刷碗智,疫情只能在家 LoL 了。
例子:点击项目列表页,跳转到项目详情
列表页
点击列表页li元素跳转到详情页,并把项目id传给详情页,以便于详情页查询
路由:
项目详情页:
通过路由属性中的name确定匹配的路由,通过params传递参数
路由:
这里的“:/id”可有可无,如果有,添加数据则会在url后显示,不添加则不显示
项目详情页:
通过path匹配路由,通过query传参,这种情况url地址中会有id=
路由配置
详情页获取id
问题: HTML对象的ID, 在mounted中用ID获取对象却获取不到对象
原因: 与vue的渲染顺序有关,在mounted执行时,dom其实并没有渲染完成,所以,在mounted中用动态的ID获取对象是获取不到的。
解决: 用vue提供的$nextTick
自定义指令需要注册后才能使用,Vue提供了两种注册方式:全局注册和局部注册。全局注册使用Vuedirective()方法来注册一个全局自定义指令,该方法接受两个参数,第一个参数是指令的ID(即名字);第二个参数是一个定义对象或者函数对象,指令要实现的功能在这个对象中定义。语法形式如下:
Vuedirective(id,[definition])
全局指令可以在任何Vue实例的模板中使用。
局部注册是在Vue实例的选项对象中使用directives选项进行注册,局部注册的自定义指令只能在该实例绑定的视图中使用。
以上就是关于vue.js如何获取手机唯一识别码全部的内容,包括:vue.js如何获取手机唯一识别码、vue导航完成前后获取数据、这7个 Vue 模式,可能你经常用!但现在看对你很有帮助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)