请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

export default methods中定义的方法,如何用JS调用?

正在回答 回答被采纳积分+3

3回答

fishenal 2017-06-05 09:20:46

使用vue data的数据就要写到组件代码里啊,怎么能在组件外面引用data里的数据,外面得话除非再从渲染好的dom里取。


a.js文件 导出了两个方法

export default {a() {}, b() {}}


b.vue文件里

import A from 'a.js'

// 直接调用

A.a()

A.b()

// vue组件

export default {

    data() {

          return {

                    apple: 1

            }

    },

    methods: {

            x () {

                   // 这里可以调用A,因为A已经被引入到组件里了

                    A.a(this.apple)

            }

    }

}

1 回复 有任何疑惑可以回复我~
fishenal 2017-06-01 17:03:01

在其他方法里吗?直接this就能调用

1 回复 有任何疑惑可以回复我~
  • 提问者 狼灰灰 #1
    不是在其他方法里,是在export default {} 文件内的任意地方调用 export default单页里的方法,如何调用
    回复 有任何疑惑可以回复我~ 2017-06-01 21:45:13
  • fishenal 回复 提问者 狼灰灰 #2
    应该是不能这么调用,如果包含很多变量和方法就别用export default了,先把内容写好,再export {a, b, c}
    回复 有任何疑惑可以回复我~ 2017-06-02 13:53:26
  • 提问者 狼灰灰 回复 fishenal #3
    还不是很明白这个地方,那如果我在export default 的methods里面定义了 a:fn() ,b:fn() ..一些方法,定义完了,就想调用。不在html里调。就在当前的<scrip> a();  b() </script>  这种形式的调用,可能我这写的语法都不对哈,这种形式的调用怎么调用阿。因为我a()可能用到vue data里的数据。有没有直接的方法阿?
    回复 有任何疑惑可以回复我~ 2017-06-02 17:27:03
提问者 狼灰灰 2017-06-05 10:02:25

我新手,可能有些地方不是很明白,看了几天的视频了,还是不明白这个地方,

<script>

export default {

    data() {

          return {

                    apple: 1

            }

    },

    methods: {

            x () {

                  console.log($(widnow).width());

             }

    }

}


x() 能在当前组件里面直接调用吗?  你发的那个我好像有点明白了,就是在子组件里面定义好了  然后在父组里引用子组件 然后   import A from 'a.js'      然后直接就<script>A.x()</script>这个我得空研究一下。


</script>


0 回复 有任何疑惑可以回复我~
  • 在哪里用A,在哪里import, 你要在子组件里用,就在子组件里import,在父组件就父组件, a.js就是普通的js文件,可以不是vue文件
    回复 有任何疑惑可以回复我~ 2017-06-05 12:03:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信