對后端來說,同步加載沒有問題,因為
對前端來說
設計es6模塊的時候,并沒有強行指定同步或異步。但是所有瀏覽器對<script type="module"></script>
都會默認加defer
,所以可以認為也是異步的。
新進展,目前發(fā)現(xiàn)有問題的貌似都是阿里云服務器,是需要添加什么配置嗎。。
javascript是沒有塊級作用域的,也就是說你在if語句內(nèi)return和你在if語句外return是一樣的,所以本質(zhì)上是return導致了其后的代碼不再執(zhí)行了,希望能幫到你
webpack都搞定了
在onload中拿到值以后,在onshow方法里面進行跳轉,這種方法試過么?
你解決了嗎,我也遇到這個問題,窗口大小調(diào)整就正常了,但是不調(diào)整就不出來分頁條
網(wǎng)上查了好多帖子,終于搞定了,以饗后來者~
PS.如果確認自己各項參數(shù)都對,但是還是提示簽名錯誤,更新一下API密鑰,然后就ok了,微信那邊好像有緩存
創(chuàng)建一個沙箱驗收的類,擴展自WxPayDataBase
class Sandbox extends WxPayDataBase{
//設置對象的屬性
public function s_setValues($k, $v){
$this->values[$k] = $v;
}
//讀取對象的屬性
public function s_getValues($k){
return $this->values[$k];
}
//獲取密鑰API
public static function getSignKey($input, $mch_key){
console_log( '1:'.json_encode($input->values) );
//提交業(yè)務
$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';
//生成簽名
$input->setSign($mch_key);
console_log( '2:'.json_encode($input->values) );
//$values = $input->GetValues();
//console_log( '3:'.json_encode($values) );
$xml = $input->array2xml();
console_log( '4:'.$xml );
//向微信請求接口
$result = self::postXmlCurl($xml, $url);
console_log( json_encode($result) );
$result = $input->xml2array($result);
console_log( json_encode($result) );
return $result;
}
/**
*
* 產(chǎn)生隨機字符串,不長于32位
* @param int $length
* @return 產(chǎn)生的隨機字符串
*/
public static function getNonceStr($length = 32)
{
$chars = "abcdefghijklmnopqrstuvwxyz0123456789";
$str ="";
for ( $i = 0; $i < $length; $i++ ) {
$str .= substr($chars, mt_rand(0, strlen($chars)-1), 1);
}
return $str;
}
/**
* 以post方式提交xml到對應的接口url
*
* @param string $xml 需要post的xml數(shù)據(jù)
* @param string $url url
* @param bool $useCert 是否需要證書,默認不需要
* @param int $second url執(zhí)行超時時間,默認30s
* @throws WxPayException
*/
private static function postXmlCurl($xml, $url, $useCert = false, $second = 30)
{
$ch = curl_init();
//設置超時
curl_setopt($ch, CURLOPT_TIMEOUT, $second);
//設置訪問的網(wǎng)址
curl_setopt($ch, CURLOPT_URL, $url);
//skysowe_modifid
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//設置header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求結果為字符串且輸出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
console_log( 'cert:'.$useCert );
if($useCert == true){
//設置證書
//使用證書:cert 與 key 分別屬于兩個.pem文件
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH);
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);
}
//post提交方式
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
//console_log( 'xml:'.json_encode($xml) );
//運行curl
$data = curl_exec($ch);
//console_log( 'curl_result:'.json_encode($data) );
//返回結果
if($data){
curl_close($ch);
return $data;
} else {
$error = curl_errno($ch);
curl_close($ch);
throw new WxPayException("curl出錯,錯誤碼:$error");
//console_log( 'curl_error:'.$error );
}
}
/**
* 輸出xml字符
* @throws WxPayException
**/
public function array2xml()
{
if(!is_array($this->values)
|| count($this->values) <= 0)
{
throw new WxPayException("數(shù)組數(shù)據(jù)異常!");
}
$xml = "<xml>";
foreach ($this->values as $key=>$val)
{
if (is_numeric($val) || $key=="nonce_str" || $key=="sign" ){
$xml.="<".$key.">".$val."</".$key.">";
}else{
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
$xml.="</xml>";
return $xml;
}
/**
* 將xml轉為array
* @param string $xml
* @throws WxPayException
*/
public function xml2array($xml)
{
if(!$xml){
throw new WxPayException("xml數(shù)據(jù)異常!");
}
//將XML轉為array
//禁止引用外部xml實體
libxml_disable_entity_loader(true);
$this->values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $this->values;
}
}
然后獲取sandbox_signkey
//沙箱用例:0 獲取驗簽秘鑰
$sandbox_test = new Sandbox();
$sandbox_test->s_setValues('mch_id', WxPayConfig::MCHID);
$sandbox_test->s_setValues('nonce_str', $sandbox_test->getNonceStr());
//debug
console_log( $sandbox_test->s_getValues('mch_id') );
console_log( $sandbox_test->s_getValues('nonce_str') );
console_log( WxPayConfig::KEY );
$rs = Sandbox::getSignKey($sandbox_test, WxPayConfig::KEY);
//debug
echo json_encode($rs);
echo $rs['sandbox_signkey'];
exit;
你的 roleList長什么樣
你可以嘗試去掉:label=“”
直接:value="item.roleName"
現(xiàn)在的需求是已經(jīng)知道了被選中的節(jié)點的id了 怎樣遍歷原data 讓選中的節(jié)點的"selected": false的selected屬性為true
針對這個不是遞歸就完了嗎。。還要怎么處理梳理
var data = [
{
id: '00',
text: '工作臺',
state: {
selected: false,
},
},
{
id: '01',
text: '企業(yè)管理',
children: [
{
id: '0101',
text: '企業(yè)信息管理',
state: {
selected: false,
},
},
{
id: '0102',
text: '企業(yè)證照管理',
state: {
selected: false,
},
},
],
},
]
var selected = ['00', '0101']
var iterative = (data, callback) => {
if (Array.isArray(data)) {
data.forEach(item => {
if (item.children && item.children.length) {
iterative(item.children, callback)
}
callback(item)
})
return
}
callback(data)
}
iterative(data, item => {
if (selected.includes(item.id)) {
item.state.selected = !item.state.selected
}
})
console.log(data)
不知樓主的問題是否解決了~~~先回答一波吧,可能后續(xù)有人也會需要。今天在做相同的功能時也遇到了同樣的問題,下載的pdf文件一直是空白,后來查閱了很多資料發(fā)現(xiàn):在發(fā)送請求是需要設置responseType: arraybuffer
,下載的才會又內(nèi)容。如:
axios.get(url
, {
responseType: arraybuffer
}).then()
let data = [{
"name":"聯(lián)系方式",
"value":"400-0456-111"
},
{
"name":"官網(wǎng)地址",
"value":"www.baidu.com "
},
{
"name":"企業(yè)地址",
"value":{
"address":"廣東省深圳市南山區(qū)",
}
}];
let result = data.find(ele=>ele.name === '聯(lián)系方式');
這樣?
不知道你解決了沒有, 推薦一個項目里曾經(jīng)用過的方式, 不需要直接操作dom元素, 使用Subject來傳遞輸入值, 然后通過rxjs的操作符完成具體的操作.
<input type="text" #searchInput (keyup)="search.next(searchInput.value)">
search: Subject<string> = new Subject<string>();
ngOnInit() {
this.search.asObservable().debounceTime(400).filter().map().subscribe();
}
建議參考官網(wǎng) Class與Style綁定
new Vue({
el: '#app',
i18n,
template: '<App/>',
components: { App }
});
npm install
單詞拼錯了,少了一個s
在鉤子里獲取不了,受影響行是操作完mysql之后的返回結果,目前只能在鉤子外自己手動獲取到然后處理。
這說明safri中的tr不支持背景漸變。
可以嘗試用tr背景透明,并給其加上偽元素::after,然后將偽元素設置為z-index=-1的塊級元素,在這個div上應用背景漸變。
function setObjfromText(obj,text,value){
let temp=obj
let textgroup = text.split('.')
let l = textgroup.length
for(let i=0;i<l-1;i++){
temp[textgroup[i]] = typeof(temp[textgroup[i]])=='object'?temp[textgroup[i]]:{}
temp = temp[textgroup[i]]
}
temp[textgroup[l-1]] = temp[textgroup[l-1]] | value
return obj
}
https://github.com/oyv1cent/i...
不是基于promise的 不過你可以參考一下
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。