最近在自学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并没有起作用是怎么回事
Vue.js
参考官方文档,目前修改成如下这样解决了问题:
<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的 思想哈