zoukankan      html  css  js  c++  java
  • KnowRbao_uni-app

    uni-app开发项目模板

    主要的代码如下:

    pages.json 

    这里是添加页面的路径代码还可以设置标题:

    {
        "pages" : [
            //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
            {
                "path" : "pages/index/index",
                "style" : {
                    "navigationBarTitleText" : "知乎日报"
                }
            },
            {
                "path" : "pages/index/details",
                "style" : {
                    "navigationBarTitleText" : "详情"
                }
            }
        ],
        "globalStyle" : {
            "navigationBarTextStyle" : "black",
            "navigationBarTitleText" : "uni-app",
            "navigationBarBackgroundColor" : "#F8F8F8",
            "backgroundColor" : "#F8F8F8"
        }
    }

    index.vue ;

    获取知乎新闻数据的代码:

    <template>
        <view class="content">
            <view class="uni-list">
                <!-- <navigator url="">页面跳转</navigator> -->
                <view class="uni-list-cell" hover-class="uni-list-cell-hover" v-for="(item,index) in news" :key="index" @tap="opendet" :data-newsid="item.id">
                    <view class="uni-media-list">
                
                            <image class="uni-media-list-logo" :src="item.images[0]"></image>
                            <view class="uni-media-list-body">
                                <view class="uni-media-list-text-top">{{item.title}}</view>
                                <view class="uni-media-list-text-bottom uni-ellipsis">{{item.ga_prefix }}</view>
                            </view>
                
                    </view>
                </view>
    
            </view>
        </view>
    </template>
    
    <script>
        export default {
            data() {
                return {
                    news: []
                };
            },
            onLoad: function() {
                uni.request({
                    url: 'https://news-at.zhihu.com/api/4/news/latest',
                    method: 'GET',
                    data: {},
                    success: res => {
                        //console.log(res);
                        this.news = res.data.stories;
                    }
                });
            },
            methods: {
                opendet(e){
                    var newid = e.currentTarget.dataset.newsid;
                    console.log(newid);
                    
                    uni.navigateTo({
                        url: '../index/details?newsid='+newid
                    });
                    
                }
            }
        }
    </script>
    
    <style>
        .uni-media-list-body {
            height: auto;
        }
    
        .uni-media-list-text-top {
            line-height: 1.6em;
        }
    </style>

    这个是知乎日报数据的获取以及简单的渲染首页,

    当我们想查看这条知乎新闻的详情信息的时候,我们需要创建一个新的页面,并渲染到详情页面。

    其中我们需要考虑的是如何获取不同的新闻详情内容,我们可以根据不同的新闻ID,获取不同的详情内容

    <view class="uni-list-cell" hover-class="uni-list-cell-hover" v-for="(item,index) in news" :key="index" @tap="opendet" :data-newsid="item.id">

    这里我直接在<view>标签绑定一个单击事件并获取新闻详情的id

    details.vue ;

    <template>
        <view class="content">
            <view class="title">{{title}}</view>
            <view class="api-centent">
                <rich-text class="richText" :nodes="bodys"  style=" 100%; height: 100%;"></rich-text>
            </view>
        </view>
    </template>
    
    <script>
        export default {
            data() {
                return {
                    title: '',
                    bodys: '',
                    share_url:''
                }
            },
            onLoad: function(e) {
                console.log(e.newsid);
                uni.request({
                    url: 'https://news-at.zhihu.com/api/4/news/' + e.newsid,
                    method: 'GET',
                    data: {},
                    success: res => {
                        /* console.log(res.data); */
                        
                    /*     this.title = res.data.title; */
                    
                        this.bodys = res.data.body;
                        /* this.bodys = this.bodys.indexOf("“");
                        console.log(this.bodys); */
                        
                        //replace()方法在字符串中用一些字符替换另一些字符
                        //stringObject.replace(regexp/substr,replacement)
                        this.bodys = this.bodys.replace(/“/g, '"');
                        this.bodys = this.bodys.replace(/”/g, '"');
                        
                        
                    },
                    fail: () => {
                        console.log("eeeeee");
                    },
                    complete: () => {}
                });
            }
        }
    </script>
    
    <style>
        .content {
            /* flex-wrap:wrap允许下面元素自动换行 */
            padding: 10upx 2%;
             96%;
            flex-wrap: wrap;
        }
    
        .title {
            line-height: 2em;
            font-weight: 700;
            font-size: 38upx;
        }
    
        .api-centent {
            line-height: 2em;
        }
    </style>

    这是新闻详情数据的页面:

    啊哈哈哈哈哈哈哈哈哈,做的不好的地方,各位大神莫笑,还请多多指教,经验不足!

  • 相关阅读:
    jython运行python文件
    jython查看帮助help和模块modules
    ubuntu 星际译王3.0.1-9.4隐藏主界面不能打开
    ubuntu火狐(firfox)浏览器安装视频插件
    ubuntu安装mp4播放器vlc & smplayer
    ubuntu+Windows双系统默认引导顺序
    notepad++ 各种颜色调整
    Linux绿色版软件expect
    aix下shell读取脚本文件并逐行执行
    AIX系统常用命令
  • 原文地址:https://www.cnblogs.com/gk126/p/10015350.html
Copyright © 2011-2022 走看看