Twitter bootstrap 将按钮置于vue元素外部
我正在使用vuestrap回购协议,现在正在尝试在div滑入的地方实现“搁置” 当我将带有指令的按钮和aside元素放在一个包含以下元素的元素中时,我就可以实现所有功能:Twitter bootstrap 将按钮置于vue元素外部,twitter-bootstrap,vue.js,Twitter Bootstrap,Vue.js,我正在使用vuestrap回购协议,现在正在尝试在div滑入的地方实现“搁置” 当我将带有指令的按钮和aside元素放在一个包含以下元素的元素中时,我就可以实现所有功能: <div id="leftMenu"> <button class="btn btn-success btn-lg" v-on="click:showLeft=true">OPEN MENU</button> <aside show="@{{@showLeft}}"
<div id="leftMenu">
<button class="btn btn-success btn-lg" v-on="click:showLeft=true">OPEN MENU</button>
<aside show="@{{@showLeft}}" placement="left" header="Title" width="350">
CONTENT HERE
</aside>
</div>
<script>
var aside = VueStrap.aside;
new Vue({
el: '#leftMenu',
components: {
'aside': aside
},
data: {
showLeft: false
}
});
</script>
使用子组件无法实现所需的功能。因为它希望它是DOM元素的子元素 相反,我建议您创建两个Vue实例,并让它们共享一个通用的全局数据变量,当用户单击菜单按钮时,该变量将被修改
<div id="nav">
<button class="btn btn-success btn-lg" v-on="click:showLeft">OPEN MENU</button>
</div>
<div id="leftMenu">
<aside show="@{{@showLeft}}" placement="left" header="Title" width="350">
CONTENT HERE
</aside>
</div>
<script>
var showLeftGlobal = false;
new Vue({
el: '#leftMenu',
data: {
showLeft: showLeftGlobal
}
});
new Vue({
el: '#nav',
data: {
showLeft: showLeftGlobal
},
methods: {
showLeft: function() {
// Toggle show
showLeftGlobal = showLeftGlobal ? false : true;
}
}
});
</script>
打开菜单
满足于此
var showletglobal=false;
新Vue({
el:“#左菜单”,
数据:{
showLeft:showLeftGlobal
}
});
新Vue({
el:'导航',
数据:{
showLeft:showLeftGlobal
},
方法:{
showleet:function(){
//切换显示
showleeftglobal=showleeftglobal?false:true;
}
}
});
<div id="nav">
<button class="btn btn-success btn-lg" v-on="click:showLeft">OPEN MENU</button>
</div>
<div id="leftMenu">
<aside show="@{{@showLeft}}" placement="left" header="Title" width="350">
CONTENT HERE
</aside>
</div>
<script>
var showLeftGlobal = false;
new Vue({
el: '#leftMenu',
data: {
showLeft: showLeftGlobal
}
});
new Vue({
el: '#nav',
data: {
showLeft: showLeftGlobal
},
methods: {
showLeft: function() {
// Toggle show
showLeftGlobal = showLeftGlobal ? false : true;
}
}
});
</script>