>  기사  >  웹 프론트엔드  >  vue의 SPA 단일 페이지 애플리케이션의 자세한 예

vue의 SPA 단일 페이지 애플리케이션의 자세한 예

小云云
小云云원래의
2017-12-26 13:32:581641검색

이 글은 주로 Vue의 SPA 단일 페이지 애플리케이션 관련 정보를 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있기를 바랍니다.

1. SPA

SPA(단일 페이지 애플리케이션) 개요 이 페이지에는 로드해야 하는 코드를 로드할 수 있는 컨테이너가 하나만 있습니다. 조각이 이 컨테이너에 삽입됩니다.

SPA 작동 방식:

 예: http://127.0.0.1/index.html#/start

①주소 표시줄의 URL에 따라 전체 페이지를 구문 분석합니다. index.html
 인덱스를 로드합니다. html

②주소 표시줄의 # URL을 구문 분석한 후 라우팅 주소에 따라: start
라우팅 주소를 기반으로 현재 애플리케이션의 구성에서 라우팅 주소의 구성 개체를 찾아 템플릿의 페이지 주소를 찾습니다. 라우팅 주소에 해당하는
 Initiate 비동기적으로 페이지 주소 로드 요청

3요청한 데이터를 지정된 컨테이너에 로드

두 번째, VueRouter를 통해 SPA를 구현하는 기본 단계

①해당 vue-router를 소개합니다. js (파일을 내 파일에 업로드했습니다.)
②코드 조각을 담을 컨테이너 지정


<router-view></router-view>



const myRoutes = [
  {path:&#39;/myLogin&#39;,component:TestLogin},
  {path:&#39;/myRegister&#39;,component:TestRegister}
  ]
  const myRouter = new VueRouter({
  routes:myRoutes 
  })
  new Vue({
    router:myRouter 
  })

③비즈니스에 필요한 다양한 구성 요소 생성

④라우팅 사전 구성

각 라우팅 주소에 대한 구성 개체(필수) 로드...)



 
 
 
  

  
 
 
 

{{msg}}

<router-view></router-view>

<script> var testLogin = Vue.component("login",{ template:` <p> <h1>这是我的登录页面</h1> </p> ` }) var testRegister = Vue.component("register",{ template:` <p> <h1>这是我的注册页面</h1> </p> ` }) //配置路由词典 //对象数组 const myRoutes =[ //当路由地址:地址栏中的那个路径是myLogin访问组件 //组件是作为标签来用的所以不能直接在component后面使用 //要用返回值        //path:&#39;&#39;指定地址栏为空:默认为Login页面         {path:&#39;&#39;,component:testLogin}, {path:&#39;/myLogin&#39;,component:testLogin}, {path:&#39;/myRegister&#39;,component:testRegister} ] const myRouter = new VueRouter({ //myRoutes可以直接用上面的数组替换 routes:myRoutes }) new Vue({ router:myRouter, //或者: /* router:new VueRouter({ routes:[ {path:&#39;/myLogin&#39;,component:testLogin}, {path:&#39;/myRegister&#39;,component:testRegister} ] }) */ el:"#container", data:{ msg:"Hello VueJs" } }) </script>

⑤Test
주소 표시줄에 해당하는 다른 라우팅 주소를 입력하여 해당 aba7b36f87decd50b18c7e3e3c150106




 
 
 SPA练习
  
  
 
 
 

{{msg}}

<router-view></router-view>

<script> /* 需要大家创建一个SPA,这个SPA有3个组件,分别对应的是collect/detail/order 功能需求: 在地址栏中路由地址是: /myColllect --> 收藏页组件 /myDetail --> 详情页组件 /myOrder --> 订单页组件 */ /* 1、引入js文件 2、创建三个组件,需要返回值 3、路由词典配置(三小步)const myRoutes、const myRouter、router:myRouter, 4、指定一个盛放代码片段的容器 &lt;router-view&gt;&lt;/router-view&gt; */ var testCollect = Vue.component("collect",{ template:` <p> <h1>这是收藏页</h1> </p> ` }) var testDetail = Vue.component("detail",{ template:` <p> <h1>这是详情页</h1> </p> ` }) var testOrder = Vue.component("order",{ template:` <p> <h1>这是订单页</h1> </p> ` }) const myRoutes = [ {path:"",component:testCollect}, {path:"/myColllect",component:testCollect}, {path:"/myDetail",component:testDetail}, {path:"/myOrder",component:testOrder}, ] const myRouter = new VueRouter({ routes:myRoutes }) new Vue({ router:myRouter, el:"#container", data:{ msg:"Hello VueJs" } }) </script>


rrreee

관련 권장사항:

vue2에서 단일 페이지의 웹페이지 제목을 설정하는 방법에 대한 간단한 이해

HTML5 단일 페이지 제스처 슬라이딩 화면 전환 원리 분석

🎜PHP 단순 페이지 캐싱 구현 코드🎜🎜

위 내용은 vue의 SPA 단일 페이지 애플리케이션의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.