介绍
这篇文章主要介绍剃刀页面如何结合Vue实现动态组件单页应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
基本页面结构
索引页面做为主页面,其它页面只是下载模板和相关的Vue组件代码。暂时加载组件使用了个全局函数,改成Vue的方法也不难。
指数中引入jquery, Vue, vue-router, element-ui相关的CSS和javascript文件。
在指数中实现路由相关功能
<>之前,,,,const pages =, {};
,,,const routes =, (
,,,,,,,{,路径:& # 39;/登录# 39;,,组件:,(),=祝辞,Promise.resolve(页面[& # 39;登录# 39;]),},,
,,,,,,,{,路径:& # 39;/回家# 39;,,组件:,(),=祝辞,Promise.resolve(页面[& # 39;回家# 39;]),},
,,,)
,,,const router =, new VueRouter ({
,,,,,,,路线:,routes //,(缩写),相当于,路线:路线
,,,})
,,,const vueMain =, Vue ({new
,,,,,,,el:,“# app"
,,,,,,路由器,路由器
,,,})
,,,vueMain。美元router.push(& # 39;登录# 39;);
,,,function 负载(routePath), {
,,,,,,,console.log (routePath)
,,,,,,,if (typeof (页面[routePath]), !=,“undefined"), {
,,,,,,,,,,,console.log (“Route ,:,“, +, routePath);
,,,,,,,,,,,vueMain。美元router.push (routePath);
,,,,,,,,,,,返回;
,,,,,,,}
,,,,,,,const url =, & # 39; .content (“~/? & # 39;, +, routePath;
,,,,,,,console.log (“url:,“, +, url);
,,,,,,,$ . get (url,, {},, rsp =祝辞,{
,,,,,,,,,,,(“# components")美元.append(负责);
,,,,,,,,,,,vueMain。美元router.push (routePath);
,,,,,,,})
,,,}
组件实现
<>之前,
,,,& lt; template id=皌plLogin"比;
,,,,,
,,,,,,,& lt; el-form ,,方法=皃ost"比;
,,,,,,,,,,,@Html.AntiForgeryToken ()
,,,,,,,,,,,& lt; el-form-item 标签=坝没?“比;
,,,,,,,,,,,,,,,& lt; el-input v模型=發oginData.userName",最大长度=?0”,最小长度=?”;
,,,,,,,,,,,,,,,,,,,,,,,,,@@input=癷nputUserName",占位符=扒胧淙胗没?”在
,,,,,,,,,,,,,,,& lt;/el-input>
,,,,,,,,,,,& lt;/el-form-item>
,,,,,,,,,,,& lt; el-form-item 类=皌ext-center"比;
,,,,,,,,,,,,,,,& lt; el-button 类型=皃rimary",图标=癳l-icon-check", @@click=癲oLogin",:禁用=? canLogin"祝辞确定& lt;/el-button>
,,,,,,,,,,,& lt;/el-form-item>
,,,,,,,,,,
,,,,,,,& lt;/el-form>
,,,,,,,,
,,,& lt;/template>
,,,& lt; script>
,,,,,,,页面(“login"),=, Vue.component(& # 39;登录# 39;,,{
,,,,,,,,,,,模板:,“# tplLogin",
,,,,,,,,,,,数据:,function (), {
,,,,,,,,,,,,,,,return {
,,,,,,,,,,,,,,,,,,,loginData:,{,用户名:& # 39;& # 39;,},
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null