vue中的v-show和v-if是做啥用的,两者区别是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中的v-show和v-if是做啥用的,两者区别是啥相关的知识,希望对你有一定的参考价值。

1.v-show跟v-if都是做条件隐藏跟显示用的,
2.v-show是页面加载的时候显示的内容跟隐藏的内容同时加载在页面上只是根据条件进行了隐藏。
3.v-if是页面加载的时候根据条件进行显示需要展示的内容。并且销毁不需要显示的条件内容,每次加载的时候进行销毁当前加载符合条件的内容
4.简单的来说就是前者在页面上可以看见隐藏的条件,后者看不见隐藏的条件。
5.使用场景:v-show在高频切换的时候为了不浪费资源更多的使用,后者在不需要高频切换的时候更多的使用。
参考技术A v-show:false 相当于 给元素加了 display:none,隐藏起来。
v-if:false 相当于 从页面上删除了元素, remove掉了 。

SetPixelFormat() 中的 PIXELFORMATDESCRIPTOR 参数是做啥用的?

【中文标题】SetPixelFormat() 中的 PIXELFORMATDESCRIPTOR 参数是做啥用的?【英文标题】:What is the PIXELFORMATDESCRIPTOR parameter in SetPixelFormat() used for?SetPixelFormat() 中的 PIXELFORMATDESCRIPTOR 参数是做什么用的? 【发布时间】:2010-03-29 18:51:16 【问题描述】:

通常在设置 OpenGL 上下文时,我只需使用必要的信息填写 PIXELFORMATDESCRIPTOR 结构并调用 ChoosePixelFormat(),然后使用从 ChoosePixelFormat() 返回的匹配像素格式调用 SetPixelFormat()。然后我只是简单地传递了初始描述符,而没有考虑太多原因。

但现在我使用 wglChoosePixelFormatARB() 而不是 ChoosePixelFormat(),因为我需要一些扩展特性,例如 sRGB 和多重采样。它采用整数的属性列表,就像 Linux 上的 XLib/GLX 一样,而不是 PIXELFORMATDESCRIPTOR 结构。那么,我真的必须填写一个描述符供 SetPixelFormat() 使用吗?当 SetPixelFormat() 已经具有像素格式描述符索引时,它使用描述符做什么?为什么我必须在两个不同的地方指定相同的 pixelformat 属性?哪个优先; wglChoosePixelFormatARB() 的属性列表,还是传递给 SetPixelFormat() 的 PIXELFORMATDESCRIPTOR 属性?

为了让问题更清楚,这里是函数原型:

/* Finds a best match based on a PIXELFORMATDESCRIPTOR,
and returns the pixelformat index */
int ChoosePixelFormat(HDC hdc, const PIXELFORMATDESCRIPTOR *ppfd);

/* Finds a best match based on an attribute list of integers and floats,
and returns a list of indices of matches, with the best matches at the head.
Also supports extended pixelformat traits like sRGB color space,
floating-point framebuffers and multisampling. */
BOOL wglChoosePixelFormatARB(HDC hdc, const int *piAttribIList,
    const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats,
    UINT *nNumFormats
);

/* Sets the pixelformat based on the pixelformat index */
BOOL SetPixelFormat(HDC hdc, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);

编辑:MSDN 谈到了 SetPixelFormat() 参数:

指向包含逻辑像素格式规范的 PIXELFORMATDESCRIPTOR 结构的指针。系统的元文件组件使用这种结构来记录逻辑像素格式规范。该结构对 SetPixelFormat 函数的行为没有其他影响。

但我不知道这意味着什么,也不知道它与我的问题有何关系。

【问题讨论】:

【参考方案1】:

我相信您不必使用 PIXELFORMATDESCRIPTOR 和 ChoosePixelFormat,只需使用 wglChoosePixelFormatARB 并将返回的 int 设置为像素格式。这些函数仅用于查询窗口以匹配像素格式,SetPixelFormat 函数不知道您使用哪个函数来获得所需的像素格式。

以下讨论的结论:

我研究了 Wine 的 opengl 实现,他们完全忽略了该参数.. (internal_SetPixelFormat),但谁知道 ms 用它做什么,我看到的唯一安全方法是使用 wglChoosePixelFormatARB 函数查找像素格式,然后使用DescribePixelFormat 填写您传递回 SetPixelFormat 的结构。

【讨论】:

是的,wglChoosePixelFormatARB 取代了 ChoosePixelFormat,毫无疑问。但是 SetPixelFormat 仍然需要一个 PIXELFORMATDESCRIPTOR。这就是我困惑的根源。所以你最终得到一个 PIXELFORMATDESCRIPTOR,一个你传递给 wglChoosePixelFormatARB 的整数属性列表。 抱歉,我错过了那个,那可能是它存储有关所选像素格式的信息的地方,您可以通过将其传递给归零结构来测试它。 不,它没有。该类型是指向 const PIXELFORMATDESCRIPTOR 的指针,因此它会读取它。它不写信给它。请参阅我的问题摘要中的函数原型。 您完全正确,我很抱歉没有花更多时间来理解您的问题。我现在也完全被这个参数弄糊涂了。当它应该已经知道有关pixelfomat的所有内容时,为什么还要在某个地方使用/存储结构。我研究了 Wine 的 opengl 实现,他们完全忽略了该参数.. tiny.cc/i11lj (internal_SetPixelFormat),但谁知道 ms 用它做什么,我看到的唯一安全方法是使用 wglChoosePixelFormatARB 函数找到像素格式,然后使用 DescribePixelFormat 来填写您传递回 SetPixelFormat 的结构。 抱歉,我不接受这个答案。你的回答很好,但我仍然对此感到困惑,也想给别人一个机会。我不完全相信使用 DescribePixelFormat 会起作用,因为 PIXELFORMATDESCRIPTOR 无法保存与 wglChoosePixelFormatARB 返回的某些像素格式相同的信息。

以上是关于vue中的v-show和v-if是做啥用的,两者区别是啥的主要内容,如果未能解决你的问题,请参考以下文章

Vue3.2 中新出的 expose 是做啥用的?

脚本“npm run dev”和“npm run watch”是做啥用的?

async.whilst 中的回调和错误是做啥用的?

TTF/OTF 头表中的 checkSumAdjustment 是做啥用的?

SetPixelFormat() 中的 PIXELFORMATDESCRIPTOR 参数是做啥用的?

Laravel 中的 `HtmlString` 是做啥用的?