为了账号安全,请及时绑定邮箱和手机立即绑定

vue在html标签中不能使用引入的js方法吗?

vue在html标签中不能使用引入的js方法吗?

莫回无 2019-03-19 21:19:46
今天改项目的时候发现了一个问题。需求:img标签获取验证码,发请求的时候需要带上token,于是我在下面进行了引入结果发现居然会报错,找不到getToken方法,当然这个问题我知道怎么解决,我只是不明白为什么在html中不能直接使用引入的js方法,是因为vue中只能使用挂载到实例上的方法吗?接着又进行了一些拓展思考,项目用的是vue-cli,脚手架中实例化vue是在main.js里,然后根据el里的id挂载并替换到index.html文件夹相应的标签,而这样的话我们建立的vue页面会有如下模板:<templemte>    <div></div></templemte><script>export default {    name: 'xx',    data() {        return {}    },    created(){},    methods:{}}</script>vue的每个页面本质都是组件,export default的理解是导出,那么问题来了,这个导出是导出到哪里?因为我其他的页面并没有把该页面当组件引入,既然这样的话其中的created等钩子函数是如何触发的?因为不import的话这些方法只是声明而已。我在这里说下我自己思考的结果,不知道对不对想求证一下:App.vue相当于是所有页面的根组件,所有页面可以理解为App.vue的子组件,那么当我们加载App之后,会通过路由出口进行子组件页面的展示,而注册路由的时候我们可以看到有一个component的选项,这个component是不是可以理解为注册组件,并且与当前path绑定?而组件注册之后vue自己会做一些处理,代替掉了我们自己手动import,所以路由跳转各个页面的时候可以触发相应的钩子函数。那么如果我在methods下面加一个自定义的方法test,在其他页面我想使用这个test,该怎么写呢。<templemte>    <div></div></templemte><script>export default {    name: 'xx',    data() {        return {}    },    created(){},    methods:{},    test() {        alert(1);    }}</script>总结一下要提的问题:1.html中为什么不可以使用引入的js方法。2.export default{}是导出,并没有实例化,那么每个页面的vue实例this是怎么拿到的,钩子函数又是怎么触发的?3.自己在页面中自定义的test方法,在别的页面可以引入使用吗。
查看完整描述

2 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

老哥,我遇到同样问题!现在我解决了!
{{getDateTime(modalInfo.order.dateline)}}
在vue里面定义一个函数
getDateTime (dateline) {

        return util.getDateTime(dateline);
    }

等于 {{util.getDateTime(modalInfo.order.dateline)}}


查看完整回答
反对 回复 2019-04-14
?
浮云间

TA贡献1829条经验 获得超4个赞

1.html可以使用引入js方法,前提是你引入的方法要满足es6模块规范
2.你写的vue模板不是最终的代码,还要经过complier编译
3.没有实际尝试过

查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 5621 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信