小编Mon*_*ock的帖子

vue.js v-for list not not updating

我有这个清单:

<ul id="tab">
    <li v-for="list in names">
        {{ list.personName }}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

然后我有这个vue对象:

var vm = new Vue ({
    el: '#tab',
        data: {
            names: //an object array coming from the server
        }
    });
Run Code Online (Sandbox Code Playgroud)

因此,'名称'数据被更新并从服务器给出信息.但是,当更新/更改名称时,它不会反映在客户端列表中.列表中显示的项目仅反映最初加载页面时的项目.

在谷歌浏览器的vue.js开发人员工具中,我总能看到更新的"名称"数据,但它并没有反映在DOM本身.

编辑1:名称中有什么:

names: Array[2]
    0: Object
    _id: "580aeafd017fbfb81a3a794d"
    personName: "hi"

    1: Object
   _id: "580c4455ccc9e39c21f02434"
   personName: "test"
Run Code Online (Sandbox Code Playgroud)

EDIT2

所以我正在使用node.js,并通过socket.io将数据从节点实时传输到客户端,如下所示:

socket.on('userDocument', function(userDocument) {
    var vm= new Vue ({
        el: '#tab',
        data: {
            names: //an object array coming from the server
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

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

Vue.js - 条件之间的转换(v-if和v-else)

有没有办法可以transition在vuejs条件v-ifv-else?之间使用?

举个例子:

<transition name="fade">
    <p v-if="show">hello</p>
    <p v-else>Goodbye</p>
</transition>
Run Code Online (Sandbox Code Playgroud)
new Vue({
   el: '#demo',
   data: {
       show: true
   }
})
Run Code Online (Sandbox Code Playgroud)
.fade-enter-active,
.fade-leave-active {
    transition: opacity .5s
 }

.fade-enter,
.fade-leave-active {
    opacity: 0
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法transition在这样的场景中工作,在切换时show,<p>元素transition在它们之间使用.

https://jsfiddle.net/fbponh78

vue.js

11
推荐指数
2
解决办法
8237
查看次数

Vuejs - 输入时,运行一个函数(但有一个延迟)

我有一个输入字段,v-on:input它运行一个名为的方法activate,如下所示:

export default: {
    data() {
        return {
            isHidden: true
        }
    },
    methods: {
        activate() {
            this.isHidden = false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

isHidden 打开/关闭一些图标(这个数据属性是什么并不重要;我只是出于示例目的使用它).

所以目前,当用户执行此操作时,input它会立即打开该activate功能.有没有办法让它延迟通过setTimeout?我尝试过以下操作,但它不起作用:

methods: {
    setTimeout(function() {
        activate() {
            this.isHidden = false;
        }
    }, 500)
}
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

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

Postgres - 按用户对行进行分组,每组中每个用户返回一行

我有一张purchases桌子:

-----------------
user_id | amount
-----------------
1       | 12                     
1       | 4                     
1       | 8     
2       | 23                    
2       | 45                    
2       | 7               
Run Code Online (Sandbox Code Playgroud)

我想要一个查询,每个返回一行user_id,但我想要的每个行user_id是每个amount最小user_id。所以我应该得到我的结果集:

-----------------
user_id | amount
-----------------                   
1       | 4                                        
2       | 7               
Run Code Online (Sandbox Code Playgroud)

DISTINCT在列上使用user_id可确保我不会得到重复的用户,但我不知道如何制作它,以便返回具有最少 amount用户行。

sql postgresql

6
推荐指数
2
解决办法
1335
查看次数

Vuejs - 克隆元素并附加到DOM的正确方法

我有一个HTML输入字段来输入一些信息:

<div id="fruitForm">
    <div class="inputArea">
        <label for="fruit0">Enter Fruit Name</label>
        <input id="fruit0"></input>
    </div>
</div>
<button @click="newInputField">Add More Fruit Input Fields</button>
<button @click="submit">Submit Fruit</button>
Run Code Online (Sandbox Code Playgroud)

然后我处理点击事件:

export default {
    data() {
        return {

        }
    },
    methods: {
        newInputField() {
            //Create another input area for users to input fruits
        },
        submit() {
            //Do something here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当用户选择Add More Fruit Input Fields按钮时,它应该创建一个新的输入区域,以便HTML看起来像这样:

<div id="fruitForm">
    <div class="inputArea">
        <label for="fruit0">Enter Fruit Name</label>
        <input id="fruit0"></input>
    </div>

    <div class="inputArea">
        <label for="fruit1">Enter Fruit Name</label>
        <input id="fruit1"></input> …
Run Code Online (Sandbox Code Playgroud)

vue.js

3
推荐指数
1
解决办法
6753
查看次数

Postgres - 根据列值添加或减少行

我有一张桌子shipments

--------------------------
id | event    | quantity |
--------------------------
1  | received | 20       |
2  | sent     | 30       | 
3  | received | 45       |
Run Code Online (Sandbox Code Playgroud)

我想要一个查询,它将所有数量相加received,并从sent数量中减去该值。查询应返回结果35

SELECT SUM(quantity)
FROM shipments
WHERE event = 'received';
Run Code Online (Sandbox Code Playgroud)

该查询返回65. 我怎样才能让它也减去数量sent(并得到结果35)?

sql postgresql

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

Vue.js-如何制作编号输入列表

使用Vue.js 2.0版

我有这段代码,它从一个数组生成一个列表。它将每个数组项插入输入字段中:

<div class="form-horizontal" id="portEditTab2">
<div v-for="list in nameList">
    <div>
        <label class="col-sm-1 control-label"
               for="nameList">1</label>

        <div class="col-sm-10">
            <input v-bind:value=list.nameList
                   type="text"
                   id="nameList">
        </div>
     </div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的Vue实例:

var portEditTab = new Vue({
    el: '#portEditTab2',
    data: {
        nameList: []
    }
});
Run Code Online (Sandbox Code Playgroud)

按照现在的代码,例如,如果“ list.nameList”的数组中有3个项目,它将把这3个项目中的每一个都放在自己的输入字段中。

我想要做的是在每个输入字段旁边放置一个标签,我只希望它是从1到其输入字段数量不限的数字。

目前,该<label>字段为1。就目前而言,每个输入字段都将带有一个1as的标签。我希望<label>数字增加1,例如,标签是1, 2, 3

javascript vue.js

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

jQuery'text'不起作用

var $insertSuccessMessage = $('#insertSuccessMessage');
var $successPopup = $('#successPopup');
var $successSpan = $('#successSpan');
Run Code Online (Sandbox Code Playgroud)

我有一个div标签:

<div id="insertSuccessMessage"></div>
Run Code Online (Sandbox Code Playgroud)

当用户成功将值输入到输入字段中时,我试图在此div标签下方显示"成功"弹出窗口,如下所示:

$insertSuccessMessage.append('<div class="alert alert-success alert-dismissible" id='successPopup' role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span id="successSpan"></span></div>');
$successSpan.text("Successfully inserted value!");
Run Code Online (Sandbox Code Playgroud)

方:我正在使用Bootstrap.

所以successPopup会出现,但文字不会; 文本未插入span标记之间.

javascript jquery twitter-bootstrap

0
推荐指数
1
解决办法
4329
查看次数

CSS-在按钮内定位图标

我正在尝试在按钮内添加图标。问题是,每当我添加图标时,它都会更改按钮的形状(根据图标的大小,它会变高,有时会变宽),并且按钮的文本未对齐,因此没有不再居中,而是将文本下推。

 <button>
   <i class="material-icons">weekend</i>
   Test
 </button>
Run Code Online (Sandbox Code Playgroud)

和CSS:

i {
    color: #669FAB;
    font-size: 24px !important;
 }

 button {
    min-width: 100px;
 }
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/uxs71ymz/1/

我希望图标向左移动,同时使文本保持在按钮内的中心位置。

css

0
推荐指数
1
解决办法
4561
查看次数

标签 统计

vue.js ×5

javascript ×4

postgresql ×2

sql ×2

css ×1

jquery ×1

twitter-bootstrap ×1

vuejs2 ×1