小编Cor*_*win的帖子

vue.js:如何处理同一元素上的click和dblclick事件

我有一个vue组件,其中包含click/dblclik的单独事件.单击(de)选择行,dblclick打开编辑表单.

<ul class="data_row"
  v-for="(row,index) in gridData"
  @dblclick="showEditForm(row,$event)"
  @click="rowSelect(row,$event)"
>
Run Code Online (Sandbox Code Playgroud)

这样做,我点击双击就发了3个事件.两次点击事件,最后一次是dblclick.由于点击事件首先触发,是否有一种方法(短暂的推迟点击事件的固定数量的ms),以便在双击时停止点击事件的传播?

在这里小提琴

javascript vue.js

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

数组手表与Vue.js 2

我有一组选择(分配给项目的item.pricelists)在v-for循环中呈现并与v-model绑定.使用item.valid_pricelists中的另一个v-for呈现该项目的可能选择选项.两者都从同一阵列中的服务器中提取.现在我需要注意用户何时更改选择,因此我可以使用item.valid_pricelists中的新值更新item.pricelists数组.

渲染部分:

<div v-for="(row,index) in item.pricelists">
    <select v-model="row.id">
        <option :value="price_list.id"  v-for="price_list in item.valid_pricelists">
        {{price_list.description}}
        </option>
    </select>
    Parent pricelist : {{row.parent_id}}
</div>
Run Code Online (Sandbox Code Playgroud)

观看部分:

watch:{
    'item.pricelists.id': {
        handler: function (val,oldVal) {
            console.log(val + " - " + oldVal);
        }, deep:true}
}
Run Code Online (Sandbox Code Playgroud)

现在,观看 - 对于简单的vars来说效果很好 - 拒绝让步.

这是代码相关部分的小提琴.

我正在查看vue 文档,但无法绕过它.任何帮助,将不胜感激.

javascript arrays vue.js

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

Google Maps StreetView仅首次显示

我有一个Google地图页面,其中填充了数据库中的标记。在标记InfoWindow中,是一个可单击的链接,该链接打开一个带有该位置的StreetView的jquery对话框。问题是,街景视图仅在我第一次单击InfoWindow链接时显示。如果我关闭对话框并尝试再次打开它(单击其他信息窗口,甚至再次单击相同的窗口),则会得到带有StreetView控件的对话框,新地址也将显示(带有“地址为近似值”),其余的对话框的颜色是均匀的浅灰色。

我试过计算器上发布(如一些warkarounds 这样一个在我的情况),但灰色的对话框仍然出现。

编辑:JSFiddle示例

使用onclick侦听器创建标记:

function addMarker(feature) {
    var marker = new google.maps.Marker({
        position: feature.position,
        icon: icons[feature.type].icon,
        map: map
    });
    //Create Infowindow
    var infowindow = new google.maps.InfoWindow();
    var content = '<h1 id="Heading" class="Heading">' + feature.shopName + '</h1>' +
                  '<div id="iwcontent" class="iwcontent">'+
                  '<p><b>Naslov : </b>' + feature.shopAddress + '</br>' +
                  '<p><b>Telefon : </b>' + feature.shopTel + '</br>' +
                  '</div>'+
                  '<div id="iwsw" class="iwsw">StreetView</div>'
                  ;
    //Call StreetView
    google.maps.event.addDomListener(infowindow, 'domready', function () {
        $('.iwsw').click(function () {
            showStreetView(feature.position);
        });
    });
    .
    .
    . …
Run Code Online (Sandbox Code Playgroud)

javascript jquery-ui google-maps-api-3

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