小程序开发——小程序页面的配置与生命周期

目录

1.小程序的页面配置

2.页面的生命周期

3.页面跳转

4.页面间的参数传递

5.新闻客户端案例讲解

6.小结

 

1.小程序的页面配置

页面的配置设置app.json中的window配置项的内容(页面中配置项会覆盖app.json的window中相同的配置项),其属性值与5.2窗口配置一节中window的属性列表一致,并且在页面的json文件配置里无须写window这个键(但外部的花括号不能省略),示例代码如下所示:

{
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "主页",
}

上述代码将设置导航栏背景颜色为白色,标题字体颜色为黑色,文字为“主页”。

2.页面的生命周期

    页面生命周期函数

页面的生命周期函数有以下几个: (1)onLoad:页面加载完调用该函数,一个页面只会调用一次。该函数的参数可以获取 wx.navigateTo 和 wx.redirectTo 及<navigator/>组件通过跳转的URL传递下来的参数。 (2)onShow:页面显示时调用该函数,每次打开页面都会调用一次。 (3)onReady:页面初次渲染完成调用该函数。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 (4)onHide:页面隐藏时调用,当navigateTo或底部tab切换时调用该函数。 (5)onUnload:页面卸载时调用,当redirectTo或navigateBack的时候调用该函数。 (6)onPullDownRefresh:下拉刷新时调用。监听用户下拉刷新事件,需要 在app.json的window选项中开启enablePullDownRefresh。当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

页面生命周期函数测试案例

运行效果

 代码说明

新建Chapter06项目与pageLifeCycle页面,在每个生命周期函数内部添加打印语句,具体JS代码如下:

//index.js页面逻辑文件
Page({
  /** 页面的初始数据 */
  data: {},
  /** * 生命周期函数--监听页面加载 */
  onLoad: function (options) {
    console.log("---index页面onload---");
  },
  /** * 生命周期函数--监听页面初次渲染完成 */
  onReady: function () {
    console.log("---index页面onReady---");
  },
/** * 生命周期函数--监听页面显示 */
  onShow: function () {
    console.log("---index页面onShow---");
  },
  /** * 生命周期函数--监听页面隐藏 */
  onHide: function () {
    console.log("---index页面onHide---");
  },
  /**  * 生命周期函数--监听页面卸载 */
  onUnload: function () {
    console.log("---index页面onUnload---");
  },
  /** * 页面相关事件处理函数--监听用户下拉动作 */
  onPullDownRefresh: function () {
    console.log("---index页面onPullDownRefresh---");
  },})

3.页面跳转

在小程序中,页面的跳转也称为路由,程序运行时,由一个统一的页面栈保存用户打开的页面,页面栈最多十层。根据页面栈中各页面不同的跳转情况微信提供了不同的路由函数,详情如表所示。

navigateTo跳转

属性说明:wx.navigateTo是使用较多的路由API函数,即保留当前页面跳转,在新页面还可以通过wx.navigateBack返回。函数具体参数说明如表所示。

JS跳转代码 wx.navigateTo函数的示例代码如下所示:

 wx.navigateTo({
     url: '../logs/logs', //页面url
   })

 页面在进行跳转时由页面栈进行统一管理。使用wx.navigateTo从页面1跳转到页面2时,页面1并不会卸载(onUnload),而是执行onHide函数。页面2入栈,执行新页面加载时的onLoad、onShow、onReady三个生命周期函数。页面生命周期函数与项目的生命周期函数在切换前后台时独立执行,互不影响。

navigator组件说明

除了在JS中编写事件处理函数,再利用wx.navigateTo函数跳转以外,还有一个与之功能相同的方法是利用navigator导航组件。组件编写在wxml视图文件中,如下面代码所示:

<!--index.wxml文件-->
<navigator url="../../pages/demo6-2/page1/page1"  hover-class="none">
</navigator>

redirectTo跳转

除了用wx.navigateTo函数进行跳转以外,常用的页面跳转函数还有wx.redirectTo。与navigateTo不同,redirect是指重定向,它会直接卸载当前页面,跳转到应用内的某个页面,但是不允许跳转到 tabbar 页面。 其属性用法和wx.navigateTo类似,如下述代码所示:

 wx.redirectTo({
     url: '../logs/logs', 
   })

 tabBar页面切换

在点击底部tabBar进行页面切换时,tabBar对应的每个页面都不会被卸载,而是保留当前页面直接进行切换。

页面跳转与页面生命周期案例

运行效果下面通过三个页面分别实现三种页面跳转方式。

navigateTo跳转运行效果

 redirectTo跳转运行效果

redirectTo重定向跳转,会直接卸载当前页面再进行跳转,可以看到第1个页面执行onUnload生命周期函数的过程,且不能再返回原页面。使用redirectTo跳转的运行效果如图:

tabBar页面切换时生命周期测试

tabBar页面切换通常涉及3个以上的页面,页面跳转时的特性是首次加载后就不再需要重新加载,后续页面切换只执行onHide与onShow生命周期函数。使用tabBar页面切换的运行效果如图所示

案例代码说明  新建三个页面pageSwitch、page1和page2,如下加粗代码所示:

 1 <!--pages/demo6-2/pageSwitch.wxml-->
<view class='container'>
  <view class='page-body'>
    <text class='h1'>页面跳转与页面生命周期案例</text>
    <view class='demo-box'>
      <view class="title">1、navigateTo导航跳转</view>
      <button type="primary" bindtap="navagateToPage1">跳转到page1</button>
      <!-- 第二种方式:使用navigator组件 -->
      <navigator url="../../pages/demo6-2/page1/page1" hover-class="none">navigator组件跳转</navigator>
    </view>
    <view class='demo-box'>
      <view class="title">2、redirectTo重定向跳转</view>
      <button type="primary" bindtap="redirecToPage2">跳转到page2</button>
 2 </view>
      <view class='demo-box'>
      <view class="title">3、tabBar页面切换</view>
      <view class="content">请切换底部tabBar观察控制器输出</view>
    </view>
  </view>
</view>

 "pages": [
    "pages/demo6-2/pageSwitch",
    "pages/demo6-2/page1/page1",
    "pages/demo6-2/page2/page2",
    "pages/demo6-1/pageLifeCycle",
    "pages/index/index", ],


// pages/demo6-2/pageSwitch.js
Page({
  navagateToPage1() {
    wx.navigateTo({
      url: './page1/page1',
    })
  },
  redirecToPage2() {
    wx.redirectTo({
      url: './page2/page2',
    })
  },

/** * 生命周期函数--监听页面加载 */
  onLoad: function(options) {
    console.log("---pageSwitch页面onload---");
  },
  /** * 生命周期函数--监听页面初次渲染完成 */
 //省略其他生命周期函数打印语句
})

 上述代码还省略了app.json中tabBar的配置代码

4.页面间的参数传递

在进行页面跳转时往往伴随着页面的参数传递,根据用户在当前页面点击的条目将标志该条目的参数传递到下一个页面中,而后进行联网访问后台请求数据,页面间参数传递的详细过程如下:

跳转时都是通过页面的url路径完成的,与网络请求时类似的是,url是可以通过“key=value”的形式拼接参数的。第一个参数使用“?”与前面的路径相连接,后续的多个参数使用符号“&”,形如:“../detail/detail?id=1&title=标题&content=测试内容”。跳转时url携带参数的示例代码如下:

//第1个页面
 wx.redirectTo({
     url: '../detail/detail?id=1',  //此处的id为需要传递的参数
})

在下一个页面获取这个名为id的参数也十分简单。通过前面的代码学习可以观察到,在页面加载的生命周期函数onLoad通常有一个名为options的参数传入,其实这个参数对象就包含上个页面传入的数据,在跳转后JS代码中打印该参数对象options,如下面代码所示:

//第2个页面
Page({
  onLoad: function (options) {
    console.log(options)
  }
})

 

由于navigator导航组件与wx.navigateTo函数实现的效果相同,因此导航组件的url属性也可拼接参数,如下述代码所示:

 <navigator url="../detail/detail?id=1" hover-class="none">
  </navigator>

5.新闻客户端案例讲解

功能描述与实现效果

新闻客户端小程序一共包含3个页面,分别是新闻首页、新闻详情、个人中心。其中新闻首页与个人中心两个页面使用底部的tabBar进行切换,而新闻详情通过首页点击某条新闻条目后,传递数据到下一个页面,再获取新闻的详情内容进行显示。案例最终实现效果如图

前期准备

新闻数据准备

由于还未学习涉及后台服务的云开发部分,因此本章的项目实战中数据仅为本地测试数据。一条新闻包括新闻标题、新闻缩略图、新闻内容、发布时间几个属性,可以按以上属性自行上网收集几条新闻,最终拼合成json数据的对象数组,以便后续使用。json数据样例如下所示:

[{
    id: '264698',
    title: '天猫161退货“猫腻”,双11藏了哪些营销套路?',
    poster: 'https://p1.pstatp.com/large/pgc-image/5a510771ed204376ba5fc0cc6f2f6150',
    content: ' 北京时间11月12日凌晨,各大电商纷纷亮出了自己2019年度的11.11成绩单。其中,天猫双十一累计成交达2684亿,再创历史新高;….//省略 ',
    add_date: '2019-11-13 09:53:30',
  },
  //注:省略其他两条新闻数据
]

 上述代码中的poster属性为新闻的缩略图的网络地址,可以在浏览器中右键图片,复制图片链接得到。(图片地址可能失效,需要自行去网上复制更改)

页面的简单设计:依据功能描述,新闻客户端小程序共三个页面,分别是主页、个人中心与详情页。针对需求,设计其布局如图。

tabBar图标资源:在前端页面开发中,经常会用到很多PNG(便携式网络图形)格式的图标,这种图像的背景颜色是完全透明的,十分适合各种网页或者软件前端开发。 推荐一个免费实用的图标资源网站名为Iconfont-阿里巴巴矢量图标库,其链接如下: https://www.iconfont.cn/home/index。可以根据图标的描述性文字搜索好看的图标资源并下载,另外在下载时还可更改颜色和大小,如图

 编码实战

新建项目与目录配置:新建项目News,新建3个功能页面,如app.json中的下述代码所示:

"pages": [
    "pages/index/index",
    "pages/newsDetail/newsDetail",
    "pages/personal/personal"
  ],

首页轮播图功能

首页片轮播图WXML代码:首页的布局涉及顶部轮播图片需要用到swiper组件,详情可参见10.2.5一节。也可直接查看微信小程序开发文档“组件”→“视图容器”→“swiper”获取其最新内容。WXML代码如下所示:

<!--index.wxml页面文件-->
<swiper indicator-dots='true' autoplay='true' interval='2000' duration='1000'>
  <block wx:for='{{swiperImages}}' wx:key='swiper{{index}}'>
    <swiper-item> <image src='{{item.src}}' class='slide-image'></image>
     </swiper-item>
  </block>
</swiper>

 首页轮播图功能数据

//index.js逻辑文件
Page({
  data: {
    swiperImages: [{ src: 'https://p1.pstatp.com/large/pgc-image/R69Ykdt8R3mX7V' },
                 { src: 'https://p1.pstatp.com/list/190x124/pgcimage/RedcTpJGL3ejdf' },
                 { src: 'https://p9.pstatp.com/large/pgc-image/Rhgid1x1U4IXrZ' } ],
    }})

首页新闻条目展示功能:页面布局

新闻条目布局

新闻条目WXML代码:先用一条静态的新闻数据写入wxml布局文件测试,如以下代码所示:

<!--index.wxml页面文件-->
<view id='news-list'>
  <view class='list-item'>
    <image src='https://p1.pstatp.com/large/pgc-image/5a510771ed204376ba5fc0cc6f2f6150'></image>
    <view class="news-text">
      <text class='news-title'> 天猫161亿退货“猫腻”,双11藏了哪些营销套路?  </text>
      <text class='news-date'>2019-11-13 09:53:30</text>
    </view>
  </view>
</view>

 新闻条目样式文件


/* index.wxss样式文件 */
swiper {
  height: 400rpx;
}
swiper image {
  width: 100%;
  height: 100%;}
#news-list {
  min-height: 600rpx;
  padding: 15rpx;}
.list-item {
  display: flex;
  flex-direction: row;
  border-bottom: 1rpx solid gray;}
.list-item image {
  width: 380rpx;
  height: 150rpx;
  margin: 10rpx;}
.news-title {
  width: 100%;
  display: block;
  line-height: 60rpx;
  font-size: 12pt;
  font-weight: bold;}
.news-text{
  margin: 10rpx;
  display: flex;
  flex-direction: column;}
.news-date{
  font-size: 10pt;}

首页数据获取

util.js工具类逻辑代码:为了尽量模拟真实项目中数据的获取,可将新闻数据封装再utils文件夹下的utils.js文件中,并在该文件中添加对外的函数(相当于接口),再在其他页面中利用函数进行新闻数据的获取,根据业务需求编写获取全部新闻数据以及通过新闻的id获取新闻详情的函数,如下面代码所示:

// util.js工具类文件
let news = [ ];//中括号里的新闻内容即上一小节前期准备的新闻数据,此处不再重复给出
/** 获取全部新闻数据的接口,在主页进行新闻条目的显示 */
function getNewsList() {
  let list = [];
  for (var i = 0; i < news.length; i++) {
    let list = [];
    for (var i = 0; i < news.length; i++) {
      let obj = {};
      obj.id = news[i].id;
      obj.poster = news[i].poster;
      obj.add_date = news[i].add_date;
      obj.title = news[i].title;
      list.push(obj); }
    return list; }}
/** 通过新闻的id获取新闻的详情内容 */
function getNewsDetail(newsID) {
  let msg = {
    code: '404',
    news: {}
  }
  for (var i = 0; i < news.length; i++) {
    if (newsID == news[i].id) { //id相同,更新新闻
      msg.code = '200';
      msg.news = news[i];
      break;
    }
  }
  return msg;
}
/** 模块的导出 */
module.exports = {
  getNewsList,
  getNewsDetail,
  news
}

index.js调用utils:在index.js逻辑文件里获取全部的新闻数据,并复制给页面数据newsList,如以下代码所示:

//index.js逻辑文件
var common = require('../../utils/util.js')
var newsList = common.getNewsList();
Page({
  data: {
    swiperImages: [ ],//图片轮滑所用的图片url数组,不再重复给出
    newsList: newsList
  },
  onLoad: function () {
    console.log(this.data.newsList)
  }
})

保存代码后可以看到控制台打印输出newsList对象,即利用utils文件里用getNewsList函数封装的不带内容的3个新闻条目,如图所示:

 

渲染新闻数据:接下来利用循环渲染标签将newsList对象显示到index页面上,如以下代码所示:

<!--index.wxml页面文件-->
<view id='news-list'>
  <view class='list-item' wx:for='{{newsList}}' wx:for-item='news'>
    <image src='{{news.poster}}'></image>
    <view class="news-text">
      <text class='news-title' data-newsID='{{news.id}}'>{{news.title}}</text>
      <text class='news-date'>{{news.add_date}}</text>
    </view>
  </view>
</view>

 新闻详情页面

新闻id的获取:在主页点击新闻条目后,程序要能正确跳转到对应新闻的详情页,需要用到navigateTo函数或者直接使用组件。同时要将新闻的id作为参数传递到下一个页面,这里采用简单的navigator组件实现,示例代码如下:

<!--index.wxml页面文件-->
<navigator url="../newsDetail/newsDetail?newsID={{news.id}}">
      <view class="news-text">
        <text class='news-title' data-newsID='{{news.id}}'>{{news.title}}</text>
        <text class='news-date'>{{news.add_date}}</text>
      </view>
</navigator>

点击新闻条目后可成功跳转到newsDetail(新闻详情)页面,且可在newsDetail页面的初始化生命周期函数onLoad中打印上一页面传递的参数,可看到新闻的id被成功打印,如图所示:

 新闻详情页布局:有了主页布局的基础,新闻详情页的布局同样十分简单,同样先用静态数据进行页面布局调试,示例代码如下:

<!--newsDetail.wxml文件-->
<scroll-view class='container' scroll-y="true" style="height: 100%;">
  <view class='title'>天猫161亿退货猫腻,双11藏了哪些营销套路?</view>
  <view class='poster'>
    <image src='https://p1.pstatp.com/large/pgimage/5a510771ed204376ba5fc0cc6f2f6150'>
    </image>
  </view>
  <view class='content'>
    <text space="emsp">北京时间11月12日凌晨,各大电商纷纷亮出了自己2019年度的11.11成绩单。..//省略新闻内容
  </text>
  </view>
  <view class='add_date'>时间:2019-11-13 09:53:30</view>
</scroll-view>

保存后新闻详情页面效果如图

 

新闻详情页数据获取:  可通过utils里的函数获取新闻详情内容,如下述代码所示:

// pages/detail/detail.js
var common = require('../../utils/util.js')
Page({
  data: { article:[] },
  onLoad: function (options) {
    console.log(options)
    let id = options.newsID;
    let result = common.getNewsDetail(id);
    if (result.code == '200') {
      this.setData({
        article: result.news,
      })
    }
    console.log(this.data.article)
  }
})

 保存后从主页进入新闻详情页时可以看到打印的新闻id和article对象,如图所示

获取到数据后直接通过双括号将新闻数据渲染到页面上,即完成了首页点击到新闻详情页面的整个功能,如下述代码所示: 

<!--newsDetail.wxml文件-->
<scroll-view class='container' scroll-y="true" style="height: 100%;">
  <view class='title'>{{article.title}}</view>
  <view class='poster'>
    <image src='{{article.poster}}'>
    </image>
  </view>
  <view class='content'>
    <text space="emsp"> {{article.content}}
  </text>
  </view>
  <view class='add_date'>时间:{{article.add_date}}</view>
</scroll-view>

个人中心页面

头像与昵称部分WXML代码:最后一个页面是个人中心,在这里看到用户头像和昵称,还可以放置其他设置项等。在开发过程中经常会用到微信用户的一些公开信息,如头像和昵称等,可参考微信官方API文档的wx.getUserInfo函数使用。若在个人中心页面只用于显示用户头像和昵称,可以利用简单的<open-data>组件获取用户的头像以及昵称等公开信息,用法如下述代码所示:

<!--personal.wxml 文件-->
<view class="userinfo-avatar">
<open-data type="userAvatarUrl" lang="zh_CN"></open-data>
</view>
<open-data type="userNickName" lang="zh_CN"></open-data>

 样式文件代码:由于头像在开发过程中经常以圆形样式展现,可以编写如下样式:

/* personal.wxss 样式文件*/
.userinfo-avatar {
  overflow: hidden;
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
}

个人中心页面完整WXML代码:按照页面设计中个人中心页面布局编写简单的布局代码,如下所示:

<!--personal.wxml 文件-->
<view class="container">
<view class="head-img">
  <view class="userinfo-avatar">
    <open-data type="userAvatarUrl" lang="zh_CN"></open-data>
  </view>
</view>
<view class="nickname">
<open-data type="userNickName" lang="zh_CN"></open-data>
</view>
</view>

 个人中心页面完整WXSS文件

/* personal.wxss 样式文件*/
.container {
  height: 500rpx;
  width: 100%;
}
.userinfo-avatar {
  overflow: hidden;
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
}

6.小结

页面配置围绕着页面的json文件进行,相较于app.json,页面的json文件较为简单只用于窗口的配置。而后围绕页面的js文件进行了页面生命周期的学习,页面生命周期在页面启动、页面跳转时尤为重要,需熟悉页面的3种切换方式,明确在不同方式跳转页面时,生命周期函数的执行过程,最后结合新闻客户端综合案例学会页面间参数的传递方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/131048.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Milvus Cloud——LLM Agent 现阶段出现的问题

LLM Agent 现阶段出现的问题 由于一些 LLM&#xff08;GPT-4&#xff09;带来了惊人的自然语言理解和生成能力&#xff0c;并且能处理非常复杂的任务&#xff0c;一度让 LLM Agent 成为满足人们对科幻电影所有憧憬的最终答案。但是在实际使用过程中&#xff0c;大家逐渐发现了通…

计算机网络(一)

一、什么是计算机网络、计算机协议&#xff1f; 计算机网络就是由计算机作为收发端&#xff0c;不同计算机相互连接的网络&#xff0c;包括互联网&#xff08;Internet&#xff09;&#xff0c;公司或者家用网络&#xff08;intranet&#xff09;等等&#xff1b;其中Internet…

MobaXterm 安装+使用

目录 1 下载安装 1.1 官网下载(速度慢) 1.2 WebRA下载(不是最新版) 2 常用功能 2.1 基础设置 2.2 常用功能 1 下载安装 1.1 官网下载(速度慢) 点击MobaXterm官网,按下图↓↓步骤下载 1.2 WebRA下载(不是最新版) 点击WebRA网址,按下图↓↓步骤下载 2 常用功能 2.1 基础设…

【仿真动画】人机协作机器人自动化产线仿真动画欣赏

人机协作机器人自动化产线仿真动画 动画部分思维导图 机器人自动化产线仿真动画是利用三维动画技术对机器人自动化产线进行仿真模拟&#xff0c;以直观、形象的方式展示产线的运行情况。它具有以下作用&#xff1a; 提高沟通效率 机器人自动化产线的设计、实施和维护涉及多个部…

Java面试题

一、项目面试题-消息队列 背景&#xff1a;在分布式系统中是如何处理高并发的。 由于在高并发的环境下&#xff0c;来不及同步处理用户发送的请求&#xff0c;则会导致请求发生阻塞。比如说&#xff0c;大量的insert&#xff0c;update之类的请求同时到达数据库MYSQL&#xff…

C#源代码生成器深入讲解一

C#源代码生成器 01 源代码生成器初体验 新建一个类库&#xff0c;一定是standard2.0版本&#xff0c;否则会出问题。引用Nuget包Microsoft.CodeAnalysis.Common新建一个类&#xff0c;继承自ISourceGenerator接口 //一定要写&#xff0c;制定语言 [Generator(LanguageNames.…

python3GUI--PyQt5打包心得(二)nuitka、inno Setup(详细图文演示、附所有软件)

文章目录 一&#xff0e;前言二&#xff0e;准备1.nuitka1.1介绍1.3项目地址1.3安装 2.mingw641.1介绍1.2下载安装 3.Inno Setup1.1介绍1.2安装 三&#xff0e;nuitka打包1.打包2.装mingw643.装ccahe4.打包完成 四&#xff0e;测试效果五&#xff0e;inno Setup制作安装软件1.配…

微信小程序前端开发

目录 前言&#xff1a; 1. 框架选择和项目搭建 2. 小程序页面开发 3. 数据通信和接口调用 4. 性能优化和调试技巧 5. 小程序发布和上线 前言&#xff1a; 当谈到微信小程序前端开发时&#xff0c;我们指的是使用微信小程序框架进行开发的一种方式。在本文中&#xff0c;我…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(三)

员工分页查询和账号启用禁用功能 1. 员工分页查询1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 设计DTO类1.2.2 封装PageResult1.2.3 Controller层1.2.4 Service层接口1.2.5 Service层实现类1.2.6 Mapper层 1.3 功能测试1.4 代码完善 2. 启用禁用员工账号…

FPGA与STM32_FSMC总线通信实验

FPGA与STM32_FSMC总线通信实验 内部存储器IP核的参数设置创建IP核FPGA代码STM32标准库的程序 STM32F407 上自带 FSMC 控制器&#xff0c;通过 FSMC 总线的地址复用模式实现STM32 与 FPGA 之间的通信&#xff0c;FPGA 内部建立 RAM 块&#xff0c;FPGA 桥接 STM32 和 RAM 块&…

Python喜羊羊

目录 系列文章 写在前面 绘图基础 画喜羊羊 写在后面 系列文章 序号文章目录直达链接表白系列1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want5…

Linux常用命令——bzmore命令

在线Linux命令查询工具 bzmore 查看bzip2压缩过的文本文件的内容 补充说明 bzmore命令用于查看bzip2压缩过的文本文件的内容&#xff0c;当下一屏显示不下时可以实现分屏显示。 语法 bzmore(参数)参数 文件&#xff1a;指定要分屏显示的.bz2压缩包。 在线Linux命令查询…

AD9371 Crossbar 和 I、Q数据 映射JESD204B传输层

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 &#xff1a; AD9371 官方…

Win10文件资源管理器卡顿不流畅的解决方法

在Win10电脑中&#xff0c;用户点击打开文件资源管理器&#xff0c;发现文件资源管理器变得卡顿不流畅了&#xff0c;非常影响用户的操作效率。接下来小编给大家带来了最简单的解决方法&#xff0c;解决后用户再去操作Win10系统的文件资源管理器&#xff0c;就会发现变得顺畅不…

主成分分析法(PCA)的理解(附python代码案例)

目录 一、PCA简介二、举个例子三、计算过程&#xff08;公式&#xff09;3.0 题干假设3.1 标准化3.2 计算协方差矩阵3.3 计算特征值和特征值向量3.3 多重共线性检验&#xff08;可跳过&#xff09;3.4 适合性检验&#xff08;可跳过&#xff09;3.5 计算主成分贡献率及累计贡献…

第七章 :Spring Boot web开发常用注解(二)

第七章 :Spring Boot web开发常用注解(二) 前言 本章节知识重点:作者结合自身开发经验,以及觉察到的一个现象:Springboot注解全面理解和掌握的并不多,对注解进行了全面总结,共分两个章节,可以作为web开发工程师注解参考手册,SpringBoot常用注解大全,一目了然!。本…

【码银送书第十期】《强化学习:原理与Python实战》

目录 1.什么是人工智能对齐 2.为什么要研究人工智能对齐 3.人工智能对齐的常见方法 1.什么是人工智能对齐 人工智能对齐&#xff08;AI Alignment&#xff09;指让人工智能的行为符合人的意图和价值观。 人工智能系统可能会出现“不对齐”&#xff08;misalign&#xff09;的…

助力细胞分选,“量身定做”您的磁珠

免疫磁珠因结合了固化试剂特有的优点与免疫学反应的高度特异性而渗透到病理、生理、药理、微生物、生化以及分子遗传学等各个领域。其中&#xff0c;随着细胞分选技术的不断发展&#xff0c;免疫磁珠细胞分选技术已越来越受到研究者的认可&#xff0c;磁珠细胞分选可以从异质细…

linux:使用nc(netcat)命令进行端口检测,并使用Docker管理容器

需求&#xff1a; 循环检测IP:端口是否能正常连接&#xff0c;能连接则关闭docker服务&#xff0c;不能连接则开启docker服务实现&#xff1a;  &esmp;通过创建linux可执行shell脚本文件&#xff0c;再设置crontab调度执行实现上述需求。详细步骤如下&#xff1a; 创建sh…

matlab中的iddata函数的初步理解和使用程序举例

matlab中的iddata函数的初步理解和程序举例 一、iddata函数功能 iddata函数常用于系统识别分析领域数据分析方面。该函数在时域或频域中&#xff0c;将用于系统识别的输入输出数据及其特性数据的生成对象数据类型。即&#xff0c;可以使用iddata函数封装要标识的系统的输入和…
最新文章