이 글은 주로 Vue의 SPA 단일 페이지 애플리케이션 관련 정보를 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있기를 바랍니다.
1. SPA
SPA 개요(단일 페이지 애플리케이션) 완성된 애플리케이션이나 사이트에는 전체 HTML 페이지가 하나만 있습니다. 이 페이지에는 코드 조각이 삽입됩니다. 컨테이너.
SPA 작동 방식:
예: http://127.0.0.1/index.html#/start
①주소 표시줄의 URL에 따라 전체 페이지를 구문 분석합니다. index.html
인덱스를 로드합니다. html
②주소 표시줄의 # URL을 구문 분석한 후 라우팅 주소에 따라: start
라우팅 주소를 기반으로 현재 애플리케이션의 구성에서 라우팅 주소의 구성 개체로 이동하여 해당 페이지 주소를 찾습니다. 라우팅 주소에 해당하는 템플릿
비동기적으로 페이지 주소 로드 요청
3요청한 데이터를 지정된 컨테이너에 로드
두 번째, VueRouter를 통해 SPA를 구현하는 기본 단계
①해당 vue-router 소개 .js (파일을 내 파일에 업로드했습니다)
②코드 조각을 담을 컨테이너 지정
<router-view></router-view>
③비즈니스에 필요한 다양한 구성 요소 생성
④라우팅 사전 구성
라우팅 주소별 구성 개체(필수) 로드하려면...)
const myRoutes = [ {path:'/myLogin',component:TestLogin}, {path:'/myRegister',component:TestRegister} ] const myRouter = new VueRouter({ routes:myRoutes }) new Vue({ router:myRouter })
⑤Test
주소 표시줄에 해당하는 다른 라우팅 주소를 입력하여 해당
{{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:''指定地址栏为空:默认为Login页面 {path:'',component:testLogin}, {path:'/myLogin',component:testLogin}, {path:'/myRegister',component:testRegister} ] const myRouter = new VueRouter({ //myRoutes可以直接用上面的数组替换 routes:myRoutes }) new Vue({ router:myRouter, //或者: /* router:new VueRouter({ routes:[ {path:'/myLogin',component:testLogin}, {path:'/myRegister',component:testRegister} ] }) */ el:"#container", data:{ msg:"Hello VueJs" } }) </script>
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、指定一个盛放代码片段的容器 <router-view></router-view> */ 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>
관련 권장사항:
vue2에서 단일 페이지의 웹페이지 제목을 설정하는 방법을 간략하게 이해하세요
Vue.js가 여러 라우팅 영역이 있는 단일 페이지를 작동하는 방법에 대한 사례 연구
위 내용은 Vue의 SPA 단일 페이지 애플리케이션 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!