vuex 使用mapState之后如何获取节点
来源:8-2 vuex在项目中的应用(1)
 
			Eden_frontend
2017-04-01
computed:{
    ...mapState({
        cates:(state)=>state.DetailList.cates,
        keyWords:(state)=>state.DetailList.keyWords,
        itemList:(state)=>state.DetailList.promotedList,
        slidingWords:(state)=>state.DetailList.slidingWords,
        mainItem:(state)=>state.DetailList.mainItem,//这里获取数据
        dImageList:(state)=>state.DetailList.dImageList
    })
},
created(){
     let self=this;
    self.$nextTick(()=>{
            let bannerBox = document.getElementById('slider-cont');//这里无法获取到ID
            bannerBox.addEventListener("touchstart",(e)=>{
                self.startX = e.touches[0].clientX;
                self.startY = e.touches[0].clientY;
            });
            bannerBox.addEventListener("touchmove", self.touchPanMove);
            bannerBox.addEventListener("touchend",  self.touchPanEnd);
    });
    //绑定touch
},
因为在最外层有加
<div v-if="mainItem"></div>
4回答
- 
				  fishenal 2017-04-02 感觉你的问题跟maspState无关,跟v-if的状态有关,created的时候 v-if mainItem这个元素是不是被删掉了。 还有建议尽量不在js里获取dom,框架已经提供了很多方法,如果是移动端事件可以去搜索相关的事件库来扩展。 你这相当于还是用jquery的思维来用vue,没用到vue的便捷。 00
- 
				  Eden_frontend 提问者 2017-04-05 如果把v-if改成v-show 那 下面{{mainItem.price}}就会报错的。因为数据都没取回来就显示了 012017-04-05
- 
				  Eden_frontend 提问者 2017-04-02 使用ref获取后无法添加事件 00
- 
				  Eden_frontend 提问者 2017-04-02 那能在教程里讲讲吗? 012017-04-02
相似问题
