成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【全棧React】第8天: 屬性類型

codeKK / 3456人閱讀

摘要:在大多數(shù)情況下,我們期望這些是一種特定類型或一組類型也稱為或。例如,幾天前我們構(gòu)建的組件接受一個稱為的屬性,我們期望它是一個字符串。必需類型可以通過在任意個屬性類型中附加中描述來將需要傳遞給一個組件根據(jù)需要設(shè)置是非常有用的。

本文轉(zhuǎn)載自:眾成翻譯
譯者:iOSDevLog
鏈接:http://www.zcfy.cc/article/3818
原文:https://www.fullstackreact.com/30-days-of-react/day-8/

我們正在考慮如何在今天重新使用React組件,這樣我們不僅可以在應(yīng)用而且可以在團隊中共享我們的組件。

??! 我們做了第二周(相對毫發(fā))! 通過這一點,我們已經(jīng)討論了React(propsstate,生命周期掛鉤函數(shù),JSX等)的大部分基本特性。 在本節(jié)中,我們將看一下注解我們的組件。

PropTypes

您可能已經(jīng)注意到我們在組件中使用了props 。 在大多數(shù)情況下,我們期望這些是一種特定類型或一組類型(也稱為objectstring)。 React提供了一種定義和驗證這些類型的方法,使我們能夠輕松暴露組件API。

文檔化不僅是好習(xí)慣,對于構(gòu)建也是有益的reusable react components.

React.PropTypes對象導(dǎo)出一堆不同的類型,我們可以用它來定義組件的prop應(yīng)該是什么類型的。 我們可以在ES6類風(fēng)格的React prop中使用propTypes方法來定義它們:

class Clock extends React.Component {
  // ...
}

Clock.propTypes = {
  // key is the name of the prop and
  // value is the PropType
}

使用React.createClass() 形式, 我們定義一個propTypeskey
例如,我們可以將Clock組件的形式重寫為:

const Clock = React.createClass({
  proptypes: {}
}); 

從這個prop里面,我們可以定義一個對象,它具有一個prop的key作為我們定義的prop的名稱,它應(yīng)被定義的類型(或類型)的一個值。

例如,幾天前我們構(gòu)建的Header 組件接受一個稱為title 的屬性,我們期望它是一個字符串。 我們可以將其類型定義為字符串:

class Header extends React.Component {
  // ...
}

Header.propTypes = {
  title: React.PropTypes.string
}

React有很多類型可供選擇,在React.PropTypes 對象上導(dǎo)出,甚至允許我們定義一個自定義的對象類型。 看看可用類型的總體列表:

[](#basic-types)基本類型

React暴露了我們可以開箱即用的幾種基本類型。

類型 例子
String "hello" React.PropTypes.string
Number 10, 0.1 React.PropTypes.number
Boolean true / false React.PropTypes.bool
Function const say => (msg) => console.log("Hello world") React.PropTypes.func
Symbol Symbol("msg") React.PropTypes.symbol
Object {name: "Ari"} React.PropTypes.object
Anything "whatever", 10, {}

可以告訴React我們希望它傳遞_anything_可以使用React.PropTypes.node來呈現(xiàn):

類型 例子
A rendererable 10, "hello" React.PropTypes.node
Clock.propTypes = {
  title: React.PropTypes.string,
  count: React.PropTypes.number,
  isOn: React.PropTypes.bool,
  onDisplay: React.PropTypes.func,
  symbol: React.PropTypes.symbol,
  user: React.PropTypes.object,

  name: React.PropTypes.node
}

我們已經(jīng)看過如何使用props從父組件到子組件進行通信。 我們可以使用函數(shù)從子組件到父組件進行通信。 當(dāng)我們想要操作一個子組件的父組件時,我們會經(jīng)常使用這種模式。

集合類型

我們可以通過我們的props中的可迭代的集合。 當(dāng)我們通過我們的活動通過一個數(shù)組時,我們已經(jīng)看到了如何做到這一點。 要將組件的proptype聲明為數(shù)組,我們可以使用 React.PropTypes.array 注解。

我們也可以要求數(shù)組只能使用某種類型的對象 React.PropTypes.arrayOf([]).

類型 例子
Array [] React.PropTypes.array
Array of numbers [1, 2, 3] React.PropTypes.arrayOf([type])
Enum ["Red", "Blue"] React.PropTypes.oneOf([arr])

可以使用React.PropTypes.oneOfType([types])來描述可以是幾種不同類型之一的對象。

Clock.propTypes = {
  counts: React.PropTypes.array,
  users: React.PropTypes.arrayOf(React.PropTypes.object),
  alarmColor: React.PropTypes.oneOf(["red", "blue"]),
  description: React.PropTypes.oneOfType([
      React.PropTypes.string,
      React.PropTypes.instanceOf(Title)
    ]),
}
對象類型

可以定義需要某個特定類型的特定類型或?qū)嵗念愋汀?/p>

類型 例子
Object {name: "Ari"} React.PropTypes.object
Number object {count: 42} React.PropTypes.objectOf()
Instance new Message() React.PropTypes.objectOf()
Object shape {name: "Ari"} React.PropTypes.shape()
Clock.propTypes = {
  basicObject: React.PropTypes.object,

  numbers: React.PropTypes
    .objectOf(React.PropTypes.numbers),

  messages: React.PropTypes
    .instanceOf(Message),

  contactList: React.PropTypes.shape({
    name: React.PropTypes.string,
    phone: React.PropTypes.string,
  })
}
React類型

我們也可以通過React元素從父組件到子組件。 這對于構(gòu)建模板和提供模板的定制非常有用。

類型 例子
Element </b></td> <td align="right"><b>React.PropTypes.element</b></td> </tr></tbody> </table> <pre>Clock.propTypes = { displayEle: React.PropTypes.element } </pre> <p>當(dāng)我們使用_element_時,React希望我們能夠接受一個多帶帶的子組件。 也就是說,我們將無法傳遞多個元素。</p> <pre>// Invalid for elements <Clock displayElement={ <div>Name</div> <div>Age</div> }></Clock> // Valid <Clock displayElement={ <div> <div>Name</div> <div>Age</div> </div> }></Clock> </pre> <b>必需類型</b> <p>可以通過在_任意_個屬性類型中附加<b>.isRequired</b>中描述來將需要傳遞給一個組件:</p> <pre>Clock.propTypes = { title: React.PropTypes.name.isRequired, } </pre> <p>根據(jù)需要設(shè)置<b>prop</b>是非常有用的。當(dāng)組件依賴于一個<b>prop</b>被它的父組件傳遞,如果沒有它將不會工作。</p> <b>自定義類型</b> <p>最后,還可以傳遞一個函數(shù)來定義自定義類型。 我們可以做一個單一屬性或驗證數(shù)組。 自定義函數(shù)的一個要求是,如果驗證確定_not_ 傳遞,則期望我們返回一個 <b>Error</b> 對象:</p> <table> <thead><tr> <th>類型</th> <th align="center">例子</th> <th align="right">類</th> </tr></thead> <tbody> <tr> <td>Custom</td> <td align="center">"something_crazy"</td> <td align="right"><b>function(props, propName, componentName) {}</b></td> </tr> <tr> <td>CustomArray</td> <td align="center">["something", "crazy"]</td> <td align="right"><b>React.PropTypes.arrayOf(function(props, propName, componentName) {})</b></td> </tr> </tbody> </table> <pre>UserLink.propTypes = { userWithName: (props, propName, componentName) => { if (!props[propName] || !props[propName].name) { return new Error( "Invalid " + propName + ": No name property defined for component " + componentName ) } } } </pre> <b>默認(rèn)屬性</b> <p>rendered, so we can define a common title instead by setting it"s default prop value.有時,我們希望能夠為屬性設(shè)置默認(rèn)值。 例如,我們昨天構(gòu)建的<b>組件</b>可能不需要傳遞標(biāo)題。 如果不是,我們?nèi)匀恍枰粋€標(biāo)題來渲染,所以我們可以通過設(shè)置它的默認(rèn)支持值來定義一個通用的標(biāo)題。</p> <p>要設(shè)置默認(rèn)的prop值,我們可以在組件上使用<b>defaultProps</b>對象鍵。</p> <pre>Header.defaultProps = { title: "Github activity" } </pre> <pre> <p>當(dāng)使用<b>React.createClass()</b> 形式時,我們可以定義一個名為<b>getDefaultProps()</b> 的對象鍵,該對象鍵將返回具有默認(rèn)值道具的對象。</p> <pre>React.createClass({ getDefaultProps: () => ({ name: "Github activity" }) }) </pre> </pre> <p>呃,今天我們?yōu)g覽了很多文檔。 使用組件的<b>propTypes</b> 和<b>defaultProps</b> 屬性構(gòu)建可重用組件是一個好主意。 不僅可以使開發(fā)人員之間進行溝通變得更加容易,而且在離開組件幾天后我們也可以輕松回收。 接下來,我們將回到代碼,并開始將某些風(fēng)格整合到我們的組件中。</p> </div> <div id="qoyqs8suu2u" class="mt-64 tags-seach" > <div id="qoyqs8suu2u" class="tags-info"> <a style="width:120px;" title="云服務(wù)器" href="http://systransis.cn/site/active/kuaijiesale.html?ytag=seo">云服務(wù)器</a> <a style="width:120px;" title="GPU云服務(wù)器" href="http://systransis.cn/site/product/gpu.html">GPU云服務(wù)器</a> <a style="width:120px;" title="javascript基礎(chǔ)教程第8版" href="http://systransis.cn/yun/tag/javascriptjichujiaochengdi8ban/">javascript基礎(chǔ)教程第8版</a> <a style="width:120px;" title="js 獲取第一個屬性" href="http://systransis.cn/yun/tag/js huoqudiyigeshuxing/">js 獲取第一個屬性</a> <a style="width:120px;" title="linux 8位數(shù)據(jù)類型" href="http://systransis.cn/yun/tag/linux 8weishujuleixing/">linux 8位數(shù)據(jù)類型</a> <a style="width:120px;" title="工資項目屬性數(shù)據(jù)類型" href="http://systransis.cn/yun/tag/gongzixiangmushuxingshujuleixing/">工資項目屬性數(shù)據(jù)類型</a> </div> </div> <div id="qoyqs8suu2u" class="entry-copyright mb-30"> <p class="mb-15"> 文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。</p> <p>轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84671.html</p> </div> <ul class="pre-next-page"> <li id="qoyqs8suu2u" class="ellipsis"><a class="hpf" href="http://systransis.cn/yun/84670.html">上一篇:【全棧React】第9天: 樣式</a></li> <li id="qoyqs8suu2u" class="ellipsis"><a class="hpf" href="http://systransis.cn/yun/84672.html">下一篇:【全棧React】第7天: 生命周期鉤子函數(shù)</a></li> </ul> </div> <div id="qoyqs8suu2u" class="about_topicone-mid"> <h3 class="top-com-title mb-0"><span data-id="0">相關(guān)文章</span></h3> <ul class="com_white-left-mid atricle-list-box"> <li> <div id="qoyqs8suu2u" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://systransis.cn/yun/84665.html"><b>【<em>全棧</em><em>React</em>】<em>React</em> 30<em>天</em>教程索引</b></a></h2> <p class="ellipsis2 good">摘要:今天我們將討論創(chuàng)建組件的最終方案,即無狀態(tài)函數(shù)的純組件。今天我們正在研究一種處理提出的復(fù)雜數(shù)據(jù)的方法,稱為體系結(jié)構(gòu)。第天部署介紹今天,我們將探討部署我們的應(yīng)用所涉及的不同部分,以便外界可以使用我們的應(yīng)用。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3758原文:https://www.fullstackreact.com/3...</p> <div id="qoyqs8suu2u" class="com_white-left-info"> <div id="qoyqs8suu2u" class="com_white-left-infol"> <a href="http://systransis.cn/yun/u-1451.html"><img src="http://systransis.cn/yun/data/avatar/000/00/14/small_000001451.jpg" alt=""><span id="qoyqs8suu2u" class="layui-hide64">appetizerio</span></a> <time datetime="">2019-08-20 18:33</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="qoyqs8suu2u" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://systransis.cn/yun/84725.html"><b>【<em>全棧</em><em>React</em>】<em>第</em>17<em>天</em>: 客戶端路由</b></a></h2> <p class="ellipsis2 good">摘要:但是使用標(biāo)記將告訴瀏覽器處理路由就像服務(wù)器端路由一樣。組件需要一個稱為的屬性指向要渲染的客戶端路由。發(fā)生這種情況的原因是響應(yīng)路由器將渲染與路徑匹配的所有內(nèi)容除非另有指定。屬性預(yù)計將是一個函數(shù)將在對象連同和路由配置時調(diào)用。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3815原文:https://www.fullstackrea...</p> <div id="qoyqs8suu2u" class="com_white-left-info"> <div id="qoyqs8suu2u" class="com_white-left-infol"> <a href="http://systransis.cn/yun/u-227.html"><img src="http://systransis.cn/yun/data/avatar/000/00/02/small_000000227.jpg" alt=""><span id="qoyqs8suu2u" class="layui-hide64">harriszh</span></a> <time datetime="">2019-08-20 18:35</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="qoyqs8suu2u" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://systransis.cn/yun/87164.html"><b>【<em>全棧</em><em>React</em>】<em>第</em>22<em>天</em>: 測試簡介</b></a></h2> <p class="ellipsis2 good">摘要:我們將討論三種不同的軟件測試范例單元測試功能測試和集成測試。在中單元測試通常不需要瀏覽器可以快速運行不需要寫入斷言本身通常是簡單而簡潔的。集成測試最后我們將研究的最后一種測試是集成測試。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3809原文:https://www.fullstackreact.com/30-days-of...</p> <div id="qoyqs8suu2u" class="com_white-left-info"> <div id="qoyqs8suu2u" class="com_white-left-infol"> <a href="http://systransis.cn/yun/u-1160.html"><img src="http://systransis.cn/yun/data/avatar/000/00/11/small_000001160.jpg" alt=""><span id="qoyqs8suu2u" class="layui-hide64">qc1iu</span></a> <time datetime="">2019-08-21 11:50</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="qoyqs8suu2u" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://systransis.cn/yun/84722.html"><b>【<em>全棧</em><em>React</em>】<em>第</em>20<em>天</em>: Redux動作</b></a></h2> <p class="ellipsis2 good">摘要:去營救有一種方法我們把我們的歸約器分成多個歸約器每個都只負(fù)責(zé)狀態(tài)樹的葉子。此外我們還學(xué)習(xí)了如何擴展以使用多個歸約器和動作以及多個連接的組件。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3825原文:https://www.fullstackreact.com/30-days-of-react/day-20/ 使用Redux,...</p> <div id="qoyqs8suu2u" class="com_white-left-info"> <div id="qoyqs8suu2u" class="com_white-left-infol"> <a href="http://systransis.cn/yun/u-655.html"><img src="http://systransis.cn/yun/data/avatar/000/00/06/small_000000655.jpg" alt=""><span id="qoyqs8suu2u" class="layui-hide64">SimonMa</span></a> <time datetime="">2019-08-20 18:35</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="qoyqs8suu2u" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://systransis.cn/yun/84685.html"><b>【<em>全棧</em><em>React</em>】<em>第</em>13<em>天</em>: 重復(fù)元素</b></a></h2> <p class="ellipsis2 good">摘要:在我們的應(yīng)用中添加太多的復(fù)雜度來加載外部數(shù)據(jù)之前今天我們將快速了解如何在應(yīng)用中重復(fù)組件元素。出于性能原因使用虛擬嘗試限制在重新視圖時需要更新的元素的數(shù)量。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3826原文:https://www.fullstackreact.com/30-days-of-react/day-13/ 今...</p> <div id="qoyqs8suu2u" class="com_white-left-info"> <div id="qoyqs8suu2u" class="com_white-left-infol"> <a href="http://systransis.cn/yun/u-1554.html"><img src="http://systransis.cn/yun/data/avatar/000/00/15/small_000001554.jpg" alt=""><span id="qoyqs8suu2u" class="layui-hide64">RaoMeng</span></a> <time datetime="">2019-08-20 18:33</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> </ul> </div> <div id="qoyqs8suu2u" class="topicone-box-wangeditor"> <h3 class="top-com-title mb-64"><span>發(fā)表評論</span></h3> <div id="qoyqs8suu2u" class="xcp-publish-main flex_box_zd"> <div id="qoyqs8suu2u" class="unlogin-pinglun-box"> <a href="javascript:login()" class="grad">登陸后可評論</a> </div> </div> </div> <div id="qoyqs8suu2u" class="site-box-content"> <div id="qoyqs8suu2u" class="site-content-title"> <h3 class="top-com-title mb-64"><span>0條評論</span></h3> </div> <div id="qoyqs8suu2u" class="pages"></ul></div> </div> </div> <div id="qoyqs8suu2u" class="layui-col-md4 layui-col-lg3 com_white-right site-wrap-right"> <div id="qoyqs8suu2u" class=""> <div id="qoyqs8suu2u" class="com_layuiright-box user-msgbox"> <a href="http://systransis.cn/yun/u-1299.html"><img src="http://systransis.cn/yun/data/avatar/000/00/12/small_000001299.jpg" alt=""></a> <h3><a href="http://systransis.cn/yun/u-1299.html" rel="nofollow">codeKK</a></h3> <h6>男<span>|</span>高級講師</h6> <div id="qoyqs8suu2u" class="flex_box_zd user-msgbox-atten"> <a href="javascript:attentto_user(1299)" id="attenttouser_1299" class="grad follow-btn notfollow attention">我要關(guān)注</a> <a href="javascript:login()" title="發(fā)私信" >我要私信</a> </div> <div id="qoyqs8suu2u" class="user-msgbox-list flex_box_zd"> <h3 class="hpf">TA的文章</h3> <a href="http://systransis.cn/yun/ut-1299.html" class="box_hxjz">閱讀更多</a> </div> <ul class="user-msgbox-ul"> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/121704.html">debian系統(tǒng)更換軟件源鏡像優(yōu)化國內(nèi)下載速度</a></h3> <p>閱讀 3694<span>·</span>2021-09-30 09:59</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/119898.html">記錄使用微PE工具箱快速制作U盤系統(tǒng)盤安裝系統(tǒng)工具</a></h3> <p>閱讀 2357<span>·</span>2021-09-13 10:34</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/115204.html">打造專屬自己的html5拼圖小游戲</a></h3> <p>閱讀 588<span>·</span>2019-08-30 12:58</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/114519.html">TypeScript 、React、 Redux和Ant-Design的最佳實踐</a></h3> <p>閱讀 1517<span>·</span>2019-08-29 18:42</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/109406.html">阿里云攜手優(yōu)锘發(fā)布智慧園區(qū)可視化產(chǎn)品</a></h3> <p>閱讀 2213<span>·</span>2019-08-26 13:44</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/104839.html">【Vue項目總結(jié)】后臺管理項目總結(jié)</a></h3> <p>閱讀 2933<span>·</span>2019-08-23 18:12</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/101631.html">JavaScript數(shù)據(jù)結(jié)構(gòu)與算法——數(shù)組</a></h3> <p>閱讀 3331<span>·</span>2019-08-23 15:10</p></li> <li><h3 class="ellipsis"><a href="http://systransis.cn/yun/100880.html">馬上收藏!史上最全正則表達式合集</a></h3> <p>閱讀 1634<span>·</span>2019-08-23 14:37</p></li> </ul> </div> <!-- 文章詳情右側(cè)廣告--> <div id="qoyqs8suu2u" class="com_layuiright-box"> <h6 class="top-com-title"><span>最新活動</span></h6> <div id="qoyqs8suu2u" class="com_adbox"> <div id="qoyqs8suu2u" class="layui-carousel" id="right-item"> <div carousel-item> <div> <a href="http://systransis.cn/site/active/kuaijiesale.html?ytag=seo" rel="nofollow"> <img src="http://systransis.cn/yun/data/attach/240625/2rTjEHmi.png" alt="云服務(wù)器"> </a> </div> <div> <a href="http://systransis.cn/site/product/gpu.html" rel="nofollow"> <img src="http://systransis.cn/yun/data/attach/240807/7NjZjdrd.png" alt="GPU云服務(wù)器"> </a> </div> </div> </div> </div> <!-- banner結(jié)束 --> <div id="qoyqs8suu2u" class="adhtml"> </div> <script> $(function(){ $.ajax({ type: "GET", url:"http://systransis.cn/yun/ad/getad/1.html", cache: false, success: function(text){ $(".adhtml").html(text); } }); }) </script> </div> </div> </div> </div> </div> </section> <!-- wap拉出按鈕 --> <div id="qoyqs8suu2u" class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> </div> <!-- wap遮罩層 --> <div id="qoyqs8suu2u" class="site-mobile-shade"></div> <!--付費閱讀 --> <div class="qoyqs8suu2u" id="payread"> <div id="qoyqs8suu2u" class="layui-form-item">閱讀需要支付1元查看</div> <div id="qoyqs8suu2u" class="layui-form-item"><button class="btn-right">支付并查看</button></div> </div> <script> var prei=0; $(".site-seo-depict pre").each(function(){ var html=$(this).html().replace("<code>","").replace("</code>","").replace('<code class="javascript hljs" codemark="1">',''); $(this).attr('data-clipboard-text',html).attr("id","pre"+prei); $(this).html("").append("<code>"+html+"</code>"); prei++; }) $(".site-seo-depict img").each(function(){ if($(this).attr("src").indexOf('data:image/svg+xml')!= -1){ $(this).remove(); } }) $("LINK[href*='style-49037e4d27.css']").remove(); $("LINK[href*='markdown_views-d7a94ec6ab.css']").remove(); layui.use(['jquery', 'layer','code'], function(){ $("pre").attr("class","layui-code"); $("pre").attr("lay-title",""); $("pre").attr("lay-skin",""); layui.code(); $(".layui-code-h3 a").attr("class","copycode").html("復(fù)制代碼 ").attr("onclick","copycode(this)"); }); function copycode(target){ var id=$(target).parent().parent().attr("id"); var clipboard = new ClipboardJS("#"+id); clipboard.on('success', function(e) { e.clearSelection(); alert("復(fù)制成功") }); clipboard.on('error', function(e) { alert("復(fù)制失敗") }); } //$(".site-seo-depict").html($(".site-seo-depict").html().slice(0, -5)); </script> <link rel="stylesheet" type="text/css" href="http://systransis.cn/yun/static/js/neweditor/code/styles/tomorrow-night-eighties.css"> <script src="http://systransis.cn/yun/static/js/neweditor/code/highlight.pack.js" type="text/javascript"></script> <script src="http://systransis.cn/yun/static/js/clipboard.js"></script> <script>hljs.initHighlightingOnLoad();</script> <script> function setcode(){ var _html=''; document.querySelectorAll('pre code').forEach((block) => { var _tmptext=$.trim($(block).text()); if(_tmptext!=''){ _html=_html+_tmptext; console.log(_html); } }); } </script> <script> function payread(){ layer.open({ type: 1, title:"付費閱讀", shadeClose: true, content: $('#payread') }); } // 舉報 function jupao_tip(){ layer.open({ type: 1, title:false, shadeClose: true, content: $('#jubao') }); } $(".getcommentlist").click(function(){ var _id=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); $("#articlecommentlist"+_id).toggleClass("hide"); var flag=$("#articlecommentlist"+_id).attr("dataflag"); if(flag==1){ flag=0; }else{ flag=1; //加載評論 loadarticlecommentlist(_id,_tid); } $("#articlecommentlist"+_id).attr("dataflag",flag); }) $(".add-comment-btn").click(function(){ var _id=$(this).attr("dataid"); $(".formcomment"+_id).toggleClass("hide"); }) $(".btn-sendartcomment").click(function(){ var _aid=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); var _content=$.trim($(".commenttext"+_aid).val()); if(_content==''){ alert("評論內(nèi)容不能為空"); return false; } var touid=$("#btnsendcomment"+_aid).attr("touid"); if(touid==null){ touid=0; } addarticlecomment(_tid,_aid,_content,touid); }) $(".button_agree").click(function(){ var supportobj = $(this); var tid = $(this).attr("id"); $.ajax({ type: "GET", url:"http://systransis.cn/yun/index.php?topic/ajaxhassupport/" + tid, cache: false, success: function(hassupport){ if (hassupport != '1'){ $.ajax({ type: "GET", cache:false, url: "http://systransis.cn/yun/index.php?topic/ajaxaddsupport/" + tid, success: function(comments) { supportobj.find("span").html(comments+"人贊"); } }); }else{ alert("您已經(jīng)贊過"); } } }); }); function attenquestion(_tid,_rs){ $.ajax({ //提交數(shù)據(jù)的類型 POST GET type:"POST", //提交的網(wǎng)址 url:"http://systransis.cn/yun/favorite/topicadd.html", //提交的數(shù)據(jù) data:{tid:_tid,rs:_rs}, //返回數(shù)據(jù)的格式 datatype: "json",//"xml", "html", "script", "json", "jsonp", "text". //在請求之前調(diào)用的函數(shù) beforeSend:function(){}, //成功返回之后調(diào)用的函數(shù) success:function(data){ var data=eval("("+data+")"); console.log(data) if(data.code==2000){ layer.msg(data.msg,function(){ if(data.rs==1){ //取消收藏 $(".layui-layer-tips").attr("data-tips","收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart-o"></i>'); } if(data.rs==0){ //收藏成功 $(".layui-layer-tips").attr("data-tips","已收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart"></i>') } }) }else{ layer.msg(data.msg) } } , //調(diào)用執(zhí)行后調(diào)用的函數(shù) complete: function(XMLHttpRequest, textStatus){ postadopt=true; }, //調(diào)用出錯執(zhí)行的函數(shù) error: function(){ //請求出錯處理 postadopt=false; } }); } </script> <footer> <div id="qoyqs8suu2u" class="layui-container"> <div id="qoyqs8suu2u" class="flex_box_zd"> <div id="qoyqs8suu2u" class="left-footer"> <h6><a href="http://systransis.cn/"><img src="http://systransis.cn/yun/static/theme/ukd//images/logo.png" alt="UCloud (優(yōu)刻得科技股份有限公司)"></a></h6> <p>UCloud (優(yōu)刻得科技股份有限公司)是中立、安全的云計算服務(wù)平臺,堅持中立,不涉足客戶業(yè)務(wù)領(lǐng)域。公司自主研發(fā)IaaS、PaaS、大數(shù)據(jù)流通平臺、AI服務(wù)平臺等一系列云計算產(chǎn)品,并深入了解互聯(lián)網(wǎng)、傳統(tǒng)企業(yè)在不同場景下的業(yè)務(wù)需求,提供公有云、混合云、私有云、專有云在內(nèi)的綜合性行業(yè)解決方案。</p> </div> <div id="qoyqs8suu2u" class="right-footer layui-hidemd"> <ul class="flex_box_zd"> <li> <h6>UCloud與云服務(wù)</h6> <p><a href="http://systransis.cn/site/about/intro/">公司介紹</a></p> <p><a >加入我們</a></p> <p><a href="http://systransis.cn/site/ucan/onlineclass/">UCan線上公開課</a></p> <p><a href="http://systransis.cn/site/solutions.html" >行業(yè)解決方案</a></p> <p><a href="http://systransis.cn/site/pro-notice/">產(chǎn)品動態(tài)</a></p> </li> <li> <h6>友情鏈接</h6> <p><a >GPU算力平臺</a></p> <p><a >UCloud私有云</a></p> <p><a >SurferCloud</a></p> <p><a >工廠仿真軟件</a></p> <p><a >Pinex</a></p> <p><a >AI繪畫</a></p> </li> <li> <h6>社區(qū)欄目</h6> <p><a href="http://systransis.cn/yun/column/index.html">專欄文章</a></p> <p><a href="http://systransis.cn/yun/udata/">專題地圖</a></p> </li> <li> <h6>常見問題</h6> <p><a href="http://systransis.cn/site/ucsafe/notice.html" >安全中心</a></p> <p><a href="http://systransis.cn/site/about/news/recent/" >新聞動態(tài)</a></p> <p><a href="http://systransis.cn/site/about/news/report/">媒體動態(tài)</a></p> <p><a href="http://systransis.cn/site/cases.html">客戶案例</a></p> <p><a href="http://systransis.cn/site/notice/">公告</a></p> </li> <li> <span><img src="https://static.ucloud.cn/7a4b6983f4b94bcb97380adc5d073865.png" alt="優(yōu)刻得"></span> <p>掃掃了解更多</p></div> </div> <div id="qoyqs8suu2u" class="copyright">Copyright ? 2012-2023 UCloud 優(yōu)刻得科技股份有限公司<i>|</i><a rel="nofollow" >滬公網(wǎng)安備 31011002000058號</a><i>|</i><a rel="nofollow" ></a> 滬ICP備12020087號-3</a><i>|</i> <script type="text/javascript" src="https://gyfk12.kuaishang.cn/bs/ks.j?cI=197688&fI=125915" charset="utf-8"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://#/hm.js?290c2650b305fc9fff0dbdcafe48b59d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DZSMXQ3P9N"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-DZSMXQ3P9N'); </script> <script> (function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?99f50ea166557aed914eb4a66a7a70a4709cbb98a54ecb576877d99556fb4bfc3d72cd14f8a76432df3935ab77ec54f830517b3cb210f7fd334f50ccb772134a"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script></div> </div> </footer> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://systransis.cn/" title="成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费">成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="qesei" class="pl_css_ganrao" style="display: none;"><center id="qesei"></center><delect id="qesei"></delect><li id="qesei"></li><center id="qesei"><dl id="qesei"><nav id="qesei"></nav></dl></center><center id="qesei"></center><acronym id="qesei"></acronym><s id="qesei"><small id="qesei"><option id="qesei"></option></small></s><th id="qesei"></th><dl id="qesei"></dl><sup id="qesei"></sup><noscript id="qesei"></noscript><noscript id="qesei"></noscript><strike id="qesei"></strike><cite id="qesei"></cite><tr id="qesei"></tr><menu id="qesei"></menu><input id="qesei"></input><tr id="qesei"></tr><menu id="qesei"></menu><center id="qesei"></center><samp id="qesei"><th id="qesei"><object id="qesei"></object></th></samp><fieldset id="qesei"></fieldset><center id="qesei"></center><sup id="qesei"><source id="qesei"><dl id="qesei"></dl></source></sup><source id="qesei"></source><sup id="qesei"></sup><object id="qesei"></object><small id="qesei"></small><strike id="qesei"><input id="qesei"><tbody id="qesei"></tbody></input></strike><del id="qesei"></del><li id="qesei"></li><bdo id="qesei"></bdo><strike id="qesei"><menu id="qesei"><noscript id="qesei"></noscript></menu></strike><abbr id="qesei"></abbr><nav id="qesei"><abbr id="qesei"><center id="qesei"></center></abbr></nav><dfn id="qesei"><source id="qesei"><strong id="qesei"></strong></source></dfn><tbody id="qesei"></tbody><nav id="qesei"><li id="qesei"><button id="qesei"></button></li></nav><center id="qesei"><dd id="qesei"><dl id="qesei"></dl></dd></center><input id="qesei"></input><source id="qesei"><strong id="qesei"><optgroup id="qesei"></optgroup></strong></source><object id="qesei"></object><s id="qesei"><small id="qesei"><abbr id="qesei"></abbr></small></s><samp id="qesei"><th id="qesei"><object id="qesei"></object></th></samp><abbr id="qesei"></abbr><li id="qesei"></li><rt id="qesei"><code id="qesei"><em id="qesei"></em></code></rt><abbr id="qesei"></abbr><wbr id="qesei"><bdo id="qesei"><table id="qesei"></table></bdo></wbr><bdo id="qesei"><option id="qesei"><kbd id="qesei"></kbd></option></bdo></div> <script src="http://systransis.cn/yun/static/theme/ukd/js/common.js"></script> <<script type="text/javascript"> $(".site-seo-depict *,.site-content-answer-body *,.site-body-depict *").css("max-width","100%"); </script> </html>