1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <template>
- <view class="u-demo">
- <view class="u-demo-wrap">
- <view class="u-demo-title">演示效果</view>
- <view class="u-demo-area">
- <u-button @click="openPage">点击跳转</u-button>
- </view>
- </view>
- <view class="u-config-wrap">
- <view class="u-config-title u-border-bottom">
- 参数配置
- </view>
- <view class="u-config-item">
- <view class="u-item-title">类型</view>
- <u-subsection :list="['navigateTo', 'switchTab', 'navigateBack']" @change="typeChange"></u-subsection>
- </view>
- <view class="u-config-item">
- <view class="u-item-title">携带参数(针对type=navigateTo)</view>
- <u-subsection :list="['是', '否']" @change="paramsChange"></u-subsection>
- </view>
- <view class="u-config-item">
- <view class="u-item-title">窗口动画(App且type=navigateTo||navigateBack时有效)</view>
- <u-subsection :list="['是', '否']" @change="animateChange"></u-subsection>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- type: 'to',
- params: {
- age: 22,
- name: '李商隐'
- },
- animate: 'slide-in-bottom',
- url: ''
- }
- },
- computed: {
- jumpUrl() {
- let url = '';
- if(this.type == 'to') {
- url = '/pages/library/route/routeTo';
- } else if(this.type == 'tab') {
- url = '/pages/example/template';
- }
- return url;
- }
- },
- methods: {
- openPage() {
- this.$u.route({
- type: this.type,
- params: this.params,
- url: this.jumpUrl,
- animationType: this.animate
- });
- },
- typeChange(index) {
- this.type = index == 0 ? 'to' : index == 1 ? 'tab' : 'back';
- },
- paramsChange(index) {
- if(!index) {
- this.params = {
- age: 22,
- name: '李商隐'
- }
- } else {
- this.params = {}
- }
- },
- animateChange(index) {
- this.animate = index == 0 ? 'slide-in-bottom' : '';
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .wrap {
- padding: 24rpx;
- }
- </style>
|