위 챗 애플 릿 개발 - 사용자 정의 구성 요소, 슬롯, 웹 소켓 (3)
                                            
 18638 단어  위 챗 애플 릿
                    
2. 사용자 정의 구성 요 소 를 만 듭 니 다. 사용자 정의 구성 요 소 는
.json, .wxml, .wxss, .js 네 개의 파일 로 구성 되 어 있 습 니 다.구성 요 소 를 작성 하려 면 어떤 일 을 해 야 합 니까?사용자 정의 구성 요 소 를 만 들 기 전에 json 파일 에서 설명
component:true 을 해 야 이 파일 을 사용자 정의 구성 요소 로 설정 할 수 있 습 니 다.. wxml 파일 에 작성      하고. wxss 파일 에 추가      해 야 합 니 다.2 - 2 - 1 구성 요소 템 플 릿 구성 요소 템 플 릿 의 작성 방법 은 페이지 템 플 릿 과 같 습 니 다.구성 요소 템 플 릿 과 구성 요소 데 이 터 를 결합 하여 생 성 된 노드 트 리 는 구성 요소 의 참조 위치 에 삽 입 됩 니 다.
구성 요소 템 플 릿 에서 구성 요소 인용 을 불 러 올 때 제공 하 는 하위 노드 를 제공 할 수 있 습 니 다.
<!--         -->
<view class="test">
  <view>      </view>
  <slot></slot>
</view>
<!--           -->
<view>
  <component-mytemplate>
    <view>       slot    </view>
  </component-mytemplate>
</view>
/*               */
.test{
  background-color: antiquewhite;
}
주의:
플러그 인 은 구성 요소 템 플 릿 에
슬롯 기능:
components/my-componets/index.js
  //       
  Component({
  properties: {
     myDad:{
       type:"string",
       value:"   ",
       // observer      
       observer:(newValue,oldValue)=>{
          // newValue  ,oldValue    
           console.log(newValue,oldValue);
       }
     }
  },
  //      
  methods: {
    clickFn(){//   
      console.log("aaaaaaa");
      this.setData({
        myDad:"    "
      })
    },
    changValue(){//    
       this.triggerEvent("myevent","111")
    }
  }
})
components/my-componets/index.wxml
<view>
        
  {{myDad}}
  <button bindtap="clickFn" type="primary">     </button>
  
  <!--              ,            -->
  <!--           -->
  <slot></slot>
  
  <!--        -->
  <slot name="myslot"></slot>
  <button bindtap="changValue" type="primary">        </button>
  <!--            -->
  <slot></slot>
</view>
웹 socket 은 위 챗 애플 릿 과 함께 웹 소켓 만 연결 할 수 있 습 니 다. 현재 웹 소켓 연결 이 존재 하면 자동 으로 연결 을 닫 고 웹 소켓 연결 을 다시 만 듭 니 다.
wx.onSocketOpen
   WebSocket       
wx.onSocketClose
   WebSocket       
wx.closeSocket
   WebSocket   
SocketTask
WebSocket   ,    wx.connectSocket()       
SocketTask.onError
   WebSocket     
SocketTask.send
   WebSocket       
wx.onSocketMessage
   WebSocket            
wx.connectSocket
     WebSocket   。            。
wx.sendSocketMessage
   WebSocket       。
백 엔 드 서버
//   npm  ws   npm i ws 
const WS = require("ws").Server;
//console.log(WS);
let wss = new WS({//          
    port: 8600
});
//       
wss.on("connection", function (ws) {
    //websocket       ,      ws    
    console.log("   ");
    ws.on("message", res => {
        console.log(res);
        //     
        ws.send(JSON.stringify({ name: "tom" }));
    })
});
애플 릿 전단 index. wxml
//      
<button bindtap="sendMessage">      </button>
app.json
{
   "pages/test/index"
}
index.js
Page({
  /*       */
  data: {
  },
  //    
  sendMessage() {
    // console.log(1111);
    wx.sendSocketMessage({
      data: "    ",
    })
  },
  /*      --      */
  onLoad: function (options) {//          websocket
    //     websocket  
    wx.connectSocket({
      //  localhost    ,       ,  websocket       
      // ip             
       url: "ws://192.168.43.5:8600",
     });
     
    //        
    wx.onSocketOpen((result) => {
      console.log("    ");
    })
    
    //        
    wx.onSocketMessage((result) => {
     console.log(result);
   })
  }
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenSSL 생 성 ssl 인증서텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.