vue中template的困惑

let liDom = `<span v-on:click=GetProjectProposal(${menu.Id})></span>`;
new Vue({
        el: '#tenant-orgs-container',
        replace: false,
        template: liDom,
        methods: {
          GetProjectProposal(id){
          ...
          };
        }
      })

试了几次:
当GetProjectProposal的参数是变量的时候,template模板就挂载不到元素el上,当参数比如是32-543,可以挂载,但是参数为guid比如35b3809c-4be6-4745-bba0-53d0fa0ec4f9就又挂载不上去了,参数是$event可以。。35b3809c不可以。。

请问:template用法有什么限制或者说是注意点

补充:先动态生成字符串模板,然后传给vue的template选项;liDom整体是在循环中,我只写了部分;${menu.id}字符串模板的es6写法;

阅读 4.6k
2 个回答

参数应该解析为字符串,试试

`<span v-on:click="GetProjectProposal('${menu.Id}')"></span>`;

第一点问题:click后面的函数需要加双引号,指令的参数都是有双引号包裹的。
第二点问题:${menu.Id}这个参数,这个语法格式没见过,vue的模板语法中,this是指向实例的,如果你这边是要读取menu.id的话,直接写menu.id应该就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题