kekesam
kekesam
  • 发布:2018-10-15 12:17
  • 更新:2018-12-29 11:09
  • 阅读:2854

uni-app关于vuejs组件化的问题

分类:uni-app

在进行uni-app的开发的时候,关于vue组件模块化
说明:在定义首页的时候,因为页面过于长和复杂,所以比较喜欢模块化处理。
1:我定义了一个分类组件category.vue.
2:然后把category.vue在我的首页index.vue进行模块化处理,确实也能包含进来:

    <view class="swiper-item" style="background-color: #FFFFFF;"><category></category></view>

3:但是问题来了,在子组件中category.vue中出现了我定义自己的数据作用域,无法在自己模板中获取自己的数据

<template>  
    <view class="">  
        {{title}}-----------------这里拿不到。  
    </view>  
</template>  

<script>  
    export function(){  
        data:{title:"haha"}  
    }  
</script>

4:非得一定要在index.vue中去定义数据才行。
5:结论:感觉组件就是一个静态页面的包含,没有自己的数据处理。

2018-10-15 12:17 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

麻烦上传一下完整demo,方便测试并确认下,感谢配合。

kekesam

kekesam (作者)

category.vue

<template>  
    <view>  
        <h1>{{name}}</h1>  
    </view>  
</template>  

<script>  
    export default {  
        data:{  
            name:"我是一个帅哥!!!"'//------------------这里永远都拿不到  
        }  
    }  
</script>  

<style>  

</style>

index.vue

<template>  
    <view class="content">  
        <text class="title">{{title}}</text>  
        <category></category>---------------------------这里包含进来的。  
    </view>  
</template>  

<script>  
    export default {  
        data: {  
            title: 'Hello',  
            name:"我是一个臭逼"-----------------------这里能拿到  
        }  
    }  
</script>

但是只能拿到index,vue的数据,自己模板里面的视而不见。

  • Trust

    data 必须写成函数的形式,你再试下。

    2018-10-15 13:28

  • kekesam (作者)

    好的,我等下试试看!谢谢回答

    2018-10-15 23:29

m***@163.com

m***@163.com

我和你遇到同样的问题,你解决了吗

l***@163.com

l***@163.com

data一般都是这样写的
data() {
return {}
}

vue也是上面的写法,不建议写成
data: {
}

l***@163.com

l***@163.com

https://uniapp.dcloud.io/use?id=data-%E5%B1%9E%E6%80%A7
这有说明

该问题目前已经被锁定, 无法添加新回复