关于vue的一些问题请教各位巨佬? 400 报错
最近在自学vue,碰见个问题在这请教下各位。
<div>
<ul v-html="ulNavBar"></ul>
</div>
export default { name: 'NavBar', data () { return { ulNavBar: '' } }, created () { var that = this; $.ajax({ type: "post", data: {}, url: this.GLOBAL.baseURL, dataType: "json", success: function(data){ for(var i in data){ html+='<li>'; html+='<router-link to="/">首页</router-link>'; html+='</li>'; } that.ulNavBar=html; } }) } }
若上代码,本意是像用ajax请求获得菜单数据,然后展示在这,做路由是用到<router-link to="/">,但是按照上面的方法router-link并没有起作用是怎么回事
思路清奇,让我眼前一亮######大佬别嘲笑######
既然有for为什么不用v-for?html是哪里来的?你的这个路由是首页还是不是?所有的都跳转到首页貌似没有意义吧?
最后,你用v-html渲染出来的是vue的命令的字符串,是不会被转化成实际的html的,当然不会起作用。你看你最后页面上li里面的是router-link标签,这个只在.vue中才有意义。
######目前还对这东西不是很了解,刚才参考官方文档改成下面的样子,已经实现了,现在这设计有什么问题,因为刚学,虽然实现,但是符不符合规范或者怎么样的######参考官方文档,目前修改成如下这样解决了问题:
<li v-for="item in navList" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173"> <router-link v-bind:to="item.menuUrl" v-text="item.menuName"></router-link> </li>
export default { name: 'NavBar', data () { return { navList:[] } }, created () { var that = this; $.ajax({ type: "post", data: {}, url: this.GLOBAL.baseURL+, dataType: "json", success: function(data){ that.navList=data; } }) } }######
v-html 不再支持 vue 的相关语法,只支持原生的html 语法
######还保留着 jQuery的 思想哈
######根深蒂固版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。