1

我是 Vue 的新手,并试图在“自定义”Vuejs 组件中实现 Jsignature。

我的解决方案基于:https ://vuejs.org/v2/examples/select2.html

它应该是直截了当的,但是我没有让它工作,到目前为止我得到的解决方案导致以下错误:

'Jsignature' 已定义但从未使用
import Jsignature from '../../lib/jsignature

包含签名的组件。

<template>
  <div>
    <app-signature></app-signature>
  </div>
</template>
<script>
  import Signature from './signature/Signature.vue'

  export default {
   components: {
     appSignature: Signature
    }
  }
</script>

签名组件。

<template>
  <div id="signaturecanvas"></div>
</template>
<script>
  import Jsignature from '../../lib/jsignature'

  export default {
    data () {
      return {
        signature: ''
      }
    },
    methods: {
      initial () {
        var element = ('#signaturecanvas')
        element.Jsignature.jSignature()
      }
    },
    created () {
      this.initial()
    }
  }
</script>
<style></style>
4

2 回答 2

1

从未使用过 Jsignature,但我想您将它用作 jquery 插件。您遇到的问题就在this.$signaturecanvas. 这在某种程度上是通过 jQuery 获取 div 的错误方法。

var element = ("#signaturecanvas")或者var element = $(this.$el)如果您想选择整个组件。$el指当前 vue 组件实例的标识符,基本上是组件的第一个标签。根据您要选择的内容选择适当的方式,您应该让它工作。

于 2017-02-06T10:05:18.147 回答
1

我没有导入 JQuery 和 JSignature,而是选择使用签名板。https://github.com/szimek/signature_pad

这个“插件”在本机 javascript/html5 中,这使我的应用程序对 JQuery 等外部库的约束更少。

于 2017-02-06T15:30:50.813 回答