uni-app,renderjs传参给组件

使用this.$ownerInstance.callMethod(‘组件的方法名’,‘参数’)

<script module='sortable' lang="renderjs"  >
	export default {
		data() {
			return {
				mySortable:null
			};
		},
		mounted(){
			if (window.Sortable) {
				this.init()
			} else {
				// 动态引入类库
				const script = document.createElement('script')
				script.src = 'static/sortable.js'
				script.onload = this.init
				document.head.appendChild(script)
			};
		},
		methods:{
			init() {
				this.mySortable = new Sortable(document.getElementById('sort'),{
					direction: 'horizontal',
					scroll: false,
					handle:'.sort',
					ghostClass:'drag',
					dragClass:'chosenClass',
					onEnd:(e)=>{
						this.$ownerInstance.callMethod('sortList',{
							oldIndex:e.oldIndex,
							newIndex:e.newIndex
						})
					}
				});
			},
		}
	}
</script>

<script>
	export default {
		data() {
			return {
				showList:[],
				hideList:[]
			};
		},
		onLoad(){
			let list = uni.getStorageSync('master_index_sortshow')
			this.showList = list.filter(item=>{
				return item.show == true
			});
			this.hideList = list.filter(item=>{
				return item.show == false
			});
		},
		onUnload(){
			let list = [...this.showList,...this.hideList];
			uni.setStorageSync('master_index_sortshow',list);
			uni.$emit('setSortShow')
		},
		methods:{
			delItem(index){
				let item = this.showList[index];
				item.show = false;
				this.hideList.push(item);
				this.showList.splice(index,1);
			},
			addItem(index){
				let item = this.hideList[index];
				item.show = true;
				this.showList.push(item);
				this.hideList.splice(index,1);
			},
			sortList({oldIndex,newIndex}){
				let temp = this.showList[oldIndex];
				this.showList[oldIndex] = this.showList[newIndex];
				this.showList[newIndex] = temp;
			}
		}
	}
</script>
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值