小编Fin*_*ers的帖子

vue.js确定空对象的正确方法

经典场景:我想显示一个列表,但是当它为空时我想显示"无数据".

事实上,做一些我希望简单的事情有点复杂,这让我觉得我可能做错了.

这是我目前的解决方案.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/vue/1.0.16/vue.js"></script>

<div id="element">
  <div v-if="empty">No item in inventory</div>
  <div v-for="(index, item) in inventory">
    {{item.key}}<button onclick="remove('{{index}}')">remove</button>
  </div>
</div>

<script type="text/javascript">
"use strict";
var vm;
$(function() {
    vm = new Vue({
        el: '#element',
        data: {
            inventory: {"id1" : {"key" : "val1"}, "id2" : {"key" : "val2"}},
            empty: false
        },
        watch: {
            inventory: function() {
                vm.empty = $.isEmptyObject(vm.inventory);
            }
        }
    });
});

function remove(key) {
  Vue.delete(vm.inventory, key);
}
</script>
Run Code Online (Sandbox Code Playgroud)

有没有比这更好的解决方案?

vue.js

11
推荐指数
3
解决办法
3万
查看次数

GDB:我们如何从std :: tuple中提取值

我们如何在std :: tuple中提取/打印单个值?

以下是名为test.cc的文件中的示例程序.

#include <tuple>
#include <iostream>

 using namespace std;

 int main() {
     auto t = make_tuple(111, 222);
     cout << std::get<0>(t) << endl
          << std::get<1>(t) << endl;
     return 0;
 }
Run Code Online (Sandbox Code Playgroud)

编译它

g++ --std=c++11 -g test.cc
Run Code Online (Sandbox Code Playgroud)

在gdb中运行它

gdb --args ./a.out
...
(gdb) start
Temporary breakpoint 1 at 0x400836: file test.cc, line 7.
Starting program: /home/fmlheureux/a.out

Temporary breakpoint 1, main () at test.cc:7
7           auto t = make_tuple(111, 222);
(gdb) n
9                << std::get<1>(t) << endl;
(gdb) p t
$1 = …
Run Code Online (Sandbox Code Playgroud)

c++ gdb c++11

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

标签 统计

c++ ×1

c++11 ×1

gdb ×1

vue.js ×1