相关疑难解决方法(0)

使用三重感叹号

通过查看我们其中一个项目的源代码,我发现了一些我们在条件语句中使用三个惊叹号的地方,如下所示:

if (!!!someVar) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

现在,我明白这不是某种很少使用的算子,它只是连续三次否定,就像!(!(!someVar))).我不明白它的用途是什么 - 在我看来它可以安全地用单个感叹号代替.以下是我尝试查找!!!a不等于的案例!a(直接从谷歌Chrome控制台获取):

var a = ''
""
!!!a === !a
true
a = 'string'
"string"
!!!a === !a
true
a = null
null
!!!a === !a
true
a = 12
12
!!!a === !a
true
a = {b: 1}
Object {b: 1}
!!!a.c === !a.c // a.c is undefined here
true
a = []
[]
!!!a === !a
true
a = [1,2]
[1, 2]
!!!a === …
Run Code Online (Sandbox Code Playgroud)

javascript

51
推荐指数
4
解决办法
2万
查看次数

vue.js属性的条件呈现

我想了解在Vue.js中有条件地呈现HTML属性的最佳方法是什么.例如,data-toggle="tooltip"如果当前实例有工具提示消息,请添加.

我现在的代码:

<span
  :data-toggle="!!col.col_spec.tooltip ? 'tooltip' : ''"
  :title="col.col_spec.tooltip"
>
  {{ col.col_spec.title }}
</span>
Run Code Online (Sandbox Code Playgroud)

虽然,我不太喜欢第二行...即使我在这里使用计算属性data-toggle,当没有工具提示显示时,我宁愿根本没有属性.

vue.js vuejs2

8
推荐指数
2
解决办法
1万
查看次数

Falsy:我为什么要用!!! 代替 !(3而不是1爆炸)

有什么区别!!!!

找到toBeFalsy匹配器中的jasmine源代码.

铬devtools的结果

!!!undefined
true
!undefined
true
!!!null
true
!null
true
!!!0
true
!0
true
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
223
查看次数

Vuejs 有条件地附加数据属性

我尝试在循环中将数据属性值有条件地添加到我的 vue 列表中,然后尝试以下操作

<ul data-parent="{{model.parent_id !== null ? model.parent_id : 0}}"></ul>
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,列表不再呈现,如果转储到 html 标签{{model.parent_id !== null ? model.parent_id : 0}}之外,我会看到正确的输出

conditional-statements custom-data-attribute vue.js

4
推荐指数
1
解决办法
4042
查看次数