精华内容
下载资源
问答
  • watch 使用 想必大家在vue开发中都或多或少的都会使用watch来监听数据的变化,那我们就来聊一聊watch方法。 那我们大家都知道watch可以监听data中的数据变化: watch:{ value:function(newVal,oldVal){ ...do ...

    watch 使用

    想必大家在vue开发中都或多或少的都会使用到watch来监听数据的变化,那我们就来聊一聊watch方法。

    那我们大家都知道watch可以监听data中的数据变化:

    watch:{
    	value:function(newVal,oldVal){
    		...do something
    	}
    }
    
    methods:{
    	valueChange(newVal,oldVal){
    		...do something
    	}
    },
    watch:{
    	value:'valueChange'
    }
    

    如上两种方法都可以实现我们的监听需求,同样也是我们普遍的用法,但当我们所监听的vaule值变为一个object对象时,显然,上面的使用已经满足不了我们的需求了。

    那我们可以直接修改需求吗,显然不能;如果能,我们也不能这么做;所以我们只能来修改我们的使用方法来满足需求。

    deep

    那假设我们有一个对象为**{id:‘1’,name:‘cb’}**,那我们要监听对象中id,和name的变化,并做一些处理。

    data(){
    	return {
    		Object:{
    			id:'1',
    			name:'cb'
    		}
    	}
    },
    watch:{
    	Object:{
    		handler(newVal,oldVal){
    			...do something
    		},
    		deep:true
    	}
    }
    

    那这样就可以满足我们的需求了,这就是deep属性,deep属性会对目标深度监听。

    那如果我们只想监听对象的 id或者name,那我们上面的写法是不是就有些浪费了呢。我们也可以单独对对象的某个属性来监听。

    watch:{
    	'Object.id':{
    		handler(newVal,oldVal){
    			...do something
    		},
    	},
    	'Object.name':{
    		handler(newVal,oldVal){
    			...do something
    		}
    	}
    }
    

    immediate

    在使用wacth 的监听中,组件初始化时,并不会执行wacth 中的handler方法,那么immediate属性就要登场了。

    watch:{
    	value:{
    		handler(newVal,oldVal){
    			...do something
    		},
    		immediate:true
    	}
    }
    

    immediate 设为true时,组件初始化就会执行一次handler,灵活运用来满足需求。

    提示

    数组的变化不需要通过深度监听,对象数组中对象的属性变化则需要deep深度监听。

    展开全文
  • vc++6.0的watch使用技巧

    2018-09-19 23:02:32
    转载处:... 1 #include <stdio.h> 2 #include <windows.h&... 4 class AutoExpand 5 { 6 public: 7 AutoExpand(int val, char* pval) 8 ...

    转载处:https://www.cnblogs.com/herbertchina/p/3917999.html

    复制代码
     1 #include <stdio.h>
     2 #include <windows.h>
     3 
     4 class AutoExpand
     5 {
     6 public:
     7     AutoExpand(int val, char* pval)
     8     {
     9         a = val;
    10         p = pval;
    11     }
    12 private:
    13     int a;
    14     char *p;
    15 };
    16 class CantExpand
    17 {
    18 public:
    19     CantExpand(int val, char* pval)
    20     {
    21         a = val;
    22         p = pval;
    23     }
    24 private:
    25     int a;
    26     char *p;
    27 };
    28 
    29 int main(void)
    30 {
    31     int p[4] = {0x31,0x32,0x33,0x34};
    32     int *a  = p;
    33     
    34     FILE* fp = fopen("File Not Exist", "r");
    35     DWORD dwError = GetLastError();
    36     
    37     AutoExpand ae(10, "abc");
    38     CantExpand ce(10, "abc");
    39 
    40     return 0;
    41 }
    复制代码

          上面代码中出现的变量先说明一下:

      p: 是整形数组,含四个元素,总共16Byte;

      a: 整形指针,指向数组p;

      fp: 文件指针,用来标识打开的"File Not Exist",我机器里是没这个文件的;

      dwError: 获得fopen失败的错误码。一般来说可以用FormatMessge来格式化这个错误原因或者直接用VC自带的工具errorlookup来查找这个错误码的解释;

      ae和ce: 是自定义的AutoExpand类型的变量和CantExpand类型的变量。注意,这两种类型只有类型名字不同。

      下面看一下我在调试这个程序的时候,watch窗口的显示:

      

      上图中,左边是Context窗口的Locals页,显示所有局部变量。右边是Watch窗口,是我自己添加的要观察的对象。 

      好,先看看整形数组p。我们看到Context窗口的显示p其实只显示了数组的地址,点了+号展开后,显示出了4个整形数据。而右边窗口,我添加了一个p,c。p后面加个",c"是什么意思呢?看看效果,p,c下面的[0],[1],[2],[3]显示的是这4个整形值对应的ascii字符哈。所以从这里有了第一个小技巧:

      1.watch窗口中,在整形变量后面加上",c"可以显示该变量对应的ASCII字符。实际上,可以直接敲数字这么显示也行。比如上面右边窗口中的118,c的对应值是'v'。也就是说118对应的ASCII字符是'v'。那么,反过来,要知道一个字符的ASCII码值怎么看呢?看上面,'v',d就是显示字符'v'对应的十进制ASCII码值是118。 'v',x显示的是对应的十六进制的ASCII码值。除了",c"   ",d"   ",x"外,还有一些其他的参数可以加,见后面的附表。

      然后我们看看变量a。a是个指针。看左边窗口,即使点了它的+号展开,也只看到了它指向的地址的第一个元素(49)。如果想要看得更多的数据,也可以像我一样,在上面的Memory窗口里看。但是Memory窗口只有一个,要看多个指针指向的数据就麻烦了,切来切去。那就在watch窗口中显示吧,a,4就可以了,看到我的watch窗口的显示没?所以,有了第二个小技巧:

      2.watch窗口中,把指针当成数组看,只要在指针名后面加上一个长度,就可以想看数组一样看到对应的数据了。比如我上面的a,4。那么如果一个指针指向的数据很大,比如一个整形指针a是指向一个1000个整数的大块内存,我只想看看最后4个数据,要怎样呢?那就(a+996),4 呗。从第996个数据开始,看4个~

      接下来这个小技巧是我最喜欢的一个了。调试中遇到系统函数调用失败的情况,通常都要加上GetLastError()函数获得返回值,然后查对应的解释才知道错误原因。比如,我上面的代码要打开一个不存在的文件,结果fopen失败。取回了错误码dwError=2,一查才知道是文件不存在。那么可不可以不用查,调试器直接告诉我原因呢?当然可以,不然我写这干嘛!刚才的错误码2是记录在dwError中了,所以只要在watch窗口看看dwError,hr看value栏:系统找不到指定的文件!爽吧!总结一下,第三个小技巧:

      3. 在watch窗口中察看错误原因,只需要在错误之后面颊上",hr"就可以了。比如我上面的 dwError,hr 和 2, hr 都能够显示错误消息。想看某个错误码的解释,只要后面加上",hr"就轻松搞定,非常方便!这里还要提一下的是,即使不调用GetLastError()也是可以看错误原因的。在fopen()调用完后,直接在watch窗口敲err,hr也可以显示最近一次的错误原因。但是我机器重新装了os,还没装vc,现在用的还是安装前的尸体。所以这个err,hr的显示有问题。不过还是有应对之法,那就是强大的TIB信息。watch窗口看看*(unsigned long*)(TIB+0x34), hr也是一样的。至于为什么吗,那就是GetLastError的机制了。

      还剩2个变量,ae和ce。这两变量类型名不同,但是其他全都一样。为什么这两个变量在watch窗口中显示的不一样呢?ae直接显示出了类成员的值,ce就显示了个......嗯,这就是最后一个小技巧:

      4. 在vc安装目录的msdev\bin目录下有个autoexp.dat文件。可以在里面自定义数据的显示。具体的看看它前面的大段说明,说得很详细。我就是在文件后面加上一行AutoExpand =int_val=<a,d> sz_val=<p,s>。

     

    附表:

      下表说明调试器可识别的格式说明符。

     

    说明符格式显示
    d,isigned 十进制整数0xF000F065-268373915
    uunsigned 十进制整数0x0065101
    ounsigned 八进制整数0xF0650170145
    x,X十六进制整数61541(十进制)0x0000F065
    l,h用于 d、i、u、o、x、X 的 long 或 short 前缀00406042,hx0x0c22
    fsigned 浮点型3./2.1.500000
    esigned 科学计数法3./2.1.500000e+000
    gsigned 浮点型或 signed 科学计数法,无论哪个都更短3./2.1.5
    c单个字符0x0065101 'e'
    s字符串0x0012fde8"Hello world"
    suUnicode 字符串 "Hello world"
    hrHRESULT 或 Win32 错误代码。(调试器自动将 HRESULT 解码,因此这些情况下不需要该说明符。0x00000000LS_OK
    wc窗口类标志。0x00000040WC_DEFAULTCHAR
    wmWindows 消息数字0x0010WM_CLOSE

     

      下表包含用于内存位置的格式化符号。

    符号格式显示
    ma64 个 ASCII 字符0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1
    m以十六进制表示的 16 个字节,后跟 16 个 ASCII 字符0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&..
    mb以十六进制表示的 16 个字节,后跟 16 个 ASCII 字符0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&..
    mw8 个字0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000
    md4 个双倍字长0x0012ffac 00CB34B3 80943084 308A22FF 00002657
    mq2 个四倍字长0x0012ffac 7ffdf00000000000 5f441a790012fdd4
    mu2 字节字符 (Unicode)0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000

      可以使用带有计算为位置的任何值或表达式的内存位置说明符。

    展开全文
  • icloud使用技巧Do you often misplace your iPhone? If you have an Apple Watch, it’s easy to find your phone using the ping feature, saving you the embarrassment or hassle of asking a friend or family ...
    icloud使用技巧

    icloud使用技巧

    00_lead_image_finding_iphone

    Do you often misplace your iPhone? If you have an Apple Watch, it’s easy to find your phone using the ping feature, saving you the embarrassment or hassle of asking a friend or family member to call your phone to help you find it.

    您经常放错iPhone吗? 如果您有Apple Watch,可以使用ping功能轻松找到您的手机,省去了要求朋友或家人打电话给您以帮助您查找手机的麻烦或麻烦。

    Your Apple Watch must be connected to your iPhone via either Bluetooth or the same Wi-Fi network to be able to use the ping feature on your watch to find your phone.

    您的Apple Watch必须通过蓝牙或相同的Wi-Fi网络连接到iPhone,才能使用手表上的ping功能查找手机。

    To ping your iPhone, make sure the clock face is showing on your watch. If it’s not, press the digital crown until the clock face displays. Swipe up from the bottom of the watch screen to open the Glances.

    要ping iPhone,请确保表盘显示在您的手表上。 如果不是,请按数字表冠直到表盘显示出来。 从手表屏幕底部向上滑动以打开Glances。

    01_swiping_up_for_glances

    Swipe right until you see the Settings glance, which is the leftmost glance screen. Tap the pinging phone button.

    向右滑动,直到看到“设置”一览表,这是最左侧的一览表屏幕。 点击ping通电话按钮。

    02_tapping_ping_button

    Your iPhone will emit a short, pinging sound to help you find it, even if it’s in silent mode. A message saying “Pinging iPhone” displays briefly on your watch’s screen as well.

    即使处于静音模式,您的iPhone也会发出一声短促的砰砰声,以帮助您找到它。 手表的屏幕上也会短暂显示一条消息“ Ping iPhone”。

    02a_pinging_phone_message

    If your iPhone is not in range of your watch, you can use iCloud.com to find your phone. In a browser, go to iCloud.com and log in using your Apple ID and password.

    如果您的iPhone不在您的手表范围内,则可以使用iCloud.com查找您的手机。 在浏览器中,转到iCloud.com并使用您的Apple ID和密码登录。

    NOTE: When using the “Find iPhone” feature on iCloud.com on a Windows PC, it only works in Internet Explorer 11, Microsoft Edge, or in an Incognito browsing window in Chrome. It will not work in a standard Chrome window or Firefox.

    注意:在Windows PC上的iCloud.com上使用“查找iPhone”功能时,它仅在Internet Explorer 11,Microsoft Edge或Chrome的隐身浏览窗口中可用。 它不能在标准的Chrome窗口或Firefox中运行。

    03_sign_in_to_icloud

    Click on the “Find iPhone” icon on the main iCloud page.

    单击iCloud主页上的“查找iPhone”图标。

    04_clicking_find_iphone

    A page displays indicating that “Find iPhone” is “Locating…” your device.

    此时将显示一个页面,指示“查找iPhone”正在“定位...”您的设备。

    05_locating

    A point on a map indicates where your device is currently located.

    地图上的一个点指示您的设备当前所在的位置。

    06_location_found

    You can access more options for dealing with a lost iOS device by clicking “All Devices” at the top of the map in the browser window. Click on the device you located.

    通过单击浏览器窗口地图顶部的“所有设备”,您可以访问更多选项来处理丢失的iOS设备。 单击您找到的设备。

    07_add_devices_menu

    A popup dialog box displays showing you how long ago your device was found and even the battery level displays in the upper-right corner of the dialog box. To play a sound on your phone, click “Play Sound”. This can be useful if you discover your phone is not far away, but the connection between your phone and watch has been lost.

    将显示一个弹出对话框,显示您找到设备多久了,甚至电池电量也显示在对话框的右上角。 要在手机上播放声音,请单击“播放声音”。 如果您发现手机不远,但手机与手表之间的连接已断开,则此功能很有用。

    08_clicking_play_sound

    When you select your device from the “All Devices” menu, a popup also displays above the location of your phone on the map.

    当您从“所有设备”菜单中选择设备时,还会在地图上手机位置上方显示一个弹出窗口。

    09_popup_on_location

    If you left your phone (or other iOS device) somewhere or someone stole it, use “Lost Mode” on iCloud. “Lost Mode” locks your device with a passcode so that others can’t access your personal information. For more information about “Lost Mode”, see Apple’s support article. You can also erase your iPhone remotely using iCloud.

    如果您将手机(或其他iOS设备)留在某处或有人偷了它,请在iCloud上使用“丢失模式”。 “丢失模式”使用密码锁定您的设备,以便其他人无法访问您的个人信息。 有关“丢失模式”的更多信息,请参阅Apple的支持文章 。 您也可以使用iCloud远程擦除iPhone。

    翻译自: https://www.howtogeek.com/236370/how-to-find-your-iphone-using-your-apple-watch-or-icloud/

    icloud使用技巧

    展开全文
  • watch规范与技巧

    2016-12-03 18:09:57
    1、个人 整体 轻量 是apple watch设计理念 2、watch 支持的两种导航方式 层级式 页面跳转 页面式 手势轻扫切换 适用于数据模型简单、且不同页面之间不存在直接数据关联的应用

    1、个人 整体 轻量 是apple watch设计理念

    2、watch 支持的两种导航方式

    层级式    页面跳转

    页面式   手势轻扫切换 适用于数据模型简单、且不同页面之间不存在直接数据关联的应用

    展开全文
  • $watch方法,它可以帮助我们在每个scope中监视其中的变量。 $watch 单一的变量 对于普通的变量时,如数字,字符串等,直接如下写是可以监视到变量的变化,并执行相应的函数的。 $scope.count=1; $scope.$watch('...
  • VUE 技巧 —— watch

    2018-04-12 16:30:45
    1. 善用 watch 的 immediate 数据 create(){ this.initFuction(); }, watch(){ abc(){ this.initFunction(){ } } } 如果有需求,初始化时执行一次,监听改变后再执行一次 可以采用下面的写法: watch()...
  • 摘要:曾在微软工作12年的MikeSwanson从1月开始就一直在捣鼓开发AppleWatch应用,在此开发过程中,他总结了诸多WatchKit的开发建议与技巧,并将其整理成文,希望对AppleWatch应用开发者们能够有所启发。自一月中旬...
  • Apple Watch 已经到达很多用户手中,Apple Watch采用蓝宝石屏幕与Force Touch触摸技术,不同于iPhone、iPad,苹果手表正面没有实体Home键,而是在侧面设置了一个Digital Crown表冠替代Home键,我们可以把它视作滚轮...
  • 注意:技巧主要针对在watchOS 7(Apple Watch Series 6,SE,5、4、3)上运行的型号。但是其中一些也可以在watchOS 6和更早版本上使用。 1.让Apple Watch宣布时间 唤醒您的手表屏幕,然后用两根手指按在手表表面上。...
  • 8个技巧让你的Apple Watch超省电。 1、关闭过场动画 Apple Watch 显示过场动画会耗掉不少效能,关起来也能让Apple Watch 跑快一点。 打开iPhone 的Watch App,选择辅助使用>减少动态效果,打开第一个选项: ...
  • 变量的观察--watch窗口的技巧

    千次阅读 2012-09-10 15:32:37
    接着上篇,写一下VC6的watch窗口的一些小技巧,对于调试过程是非常有帮助的。VC6年纪已经很大了,微软好像也不再支持,但是还是有很多人在用。我本人是非常喜欢它的小巧(相对vs2003,2005),占资源少,即使这样它的...
  • VC++6.0调试篇:运行时间的观察--watch窗口的技巧续 &nbsp;&nbsp;&nbsp;&nbsp;微软精心打造的VC调试器确实非常方便,再来看个watch窗口的小技巧:用作计时器 &nbsp; 有时候可能想要知道个...
  • 随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件,...
  • 微软精心打造的VC调试器确实非常方便,再来看个watch窗口的小技巧:用作计时器  有时候可能想要知道个函数或者一段代码运行需要的粗略时间。一般是假如一些计时的处理,比如函数开始时调用GetTickCount()记录...
  • VC6.0调试篇:watch窗口的技巧

    千次阅读 2009-07-27 21:13:00
    写一下VC6的watch窗口的一些小技巧,对于调试过程是非常有帮助的。VC6年纪已经很大了,微软好像也不再支持,但是还是有很多人在用。我本人是非常喜欢它的小巧(相对vs2003,2005),占资源少,即使这样它的调试功能...
  • 随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件,所以我们只需要配置就行了...
  •  写一下VC6的watch窗口的一些小技巧,对于调试过程是非常有帮助的。VC6年纪已经很大了,微软好像也不再支持,但是还是有很多人在用。我本人是非常喜欢它的小巧(相对vs2003,2005),占资源少,即使这样它的调试功能...
  • [VS][VC] 在调试过程中watch变量的技巧

    千次阅读 2011-09-07 17:15:17
    在调试C(++)的时候,常会用到Watch或者Quick Watch来观察当前一些变量的数据, 但是在使用过程中常会遇到一些不方便的情况,最常见的,比如: 指针变量数组只能知道第一个元素的值byte的值自做主张地给你标上...
  • getter和setter getter 是一种获得属性值的方法,setter是一种设置属性值的方法。 属性被赋值 a = 1的时候, a 的原型内的setter就会被触发; 而 console.log(a) 的时候,a 的原型内的getter就会被触发。...
  • Apple Watch 每一两天就需要充电,但要查看手表充到多少% 很麻烦,不过其实苹果手表有个「充电提示」功能,当手表充到100% 时,iPhone 会跳出通知提示,不用一直去看充电进度。 注意:此方法适用升级到WatchOS 7的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,398
精华内容 6,559
关键字:

watch4使用技巧