VueJS + Jquery 用户界面

Joh*_*ber 2 jquery jquery-ui vuejs2

基本上我想要处理的是当我使用 jquery ui 的 resizable() 并将其保存在我的 vue 数据中时获取元素的宽度。

<div class="draggable"></div> 
$(".draggable").draggable().resizable();
Run Code Online (Sandbox Code Playgroud)

当我现在用处理程序拖动元素时,我想在我的 vue js 组件脚本中获得实际宽度...我能以某种方式在每个刻度上使用 ref 获取它吗?

所以每当我的 div 在渲染版本中看起来像这样:

<div style="width: 100px;" class="draggable" />
Run Code Online (Sandbox Code Playgroud)

我想以某种方式在 Vue 中访问该宽度。

代码示例将不胜感激。

Fcm*_*am5 5

您可以使用 VueJS 的 $data API :

HTML

<div id="my-app">
  My width is: {{ mywidth }}
  <div class="draggable"></div>
</div> 
Run Code Online (Sandbox Code Playgroud)

并让 Jquery 将您的宽度发送到 vuejs:

var app = new Vue({
    el: '#my-app',
    data: {
      mywidth: 100,
    }
});
Run Code Online (Sandbox Code Playgroud)

和:

$(".draggable").draggable().resizable({
   stop: function(event, ui) {
     var width = ui.size.width;
     app.$data.mywidth = width;
}
});
Run Code Online (Sandbox Code Playgroud)

您可以替换为stop(event, ui)resize这样您就可以在调整大小时跟踪宽度,并且在“调整大小完成”后无法使用

Codepen.io上的示例

阅读更多: