码迷,mamicode.com
首页 > 其他好文 > 详细

3组件骨架开发

时间:2017-07-30 11:32:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:入参   htm   利用   web   init   标签设置   content   new   orm   

移动端的开发,需要通过<meta>标签设置视口

<meta name="viewport"
content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">

App是挂载在index.html中的<body>元素下的唯一个子元素<div>中的。要使用Vue组件时,在vue文件中要用export default{}导出。在引用这个vue组件的文件中要先用import导入,然后在components中注册。

flex布局是用于设置布局的一个常用属性,在这个项目中.tab的三个子元素是三等分的,用flex布局实现,还有后面很多两个元素并列排布,一个元素固定宽度,另一个元素自适应排布的情况也大量用到了flex布局。vue-load中的postcss插件能自动帮我们搞定css的一些兼容性问题。

用vue-route来实现路由,在main.js用import导入VueRouter,通过 Vue.use() 明确地安装路由功能   Vue.use(VueRouter);

将组件映射到路由的用法:Html部分,使用<router-link>组件来导航,用to属性指定链接,<router-link>默认会被渲染成一个<a>标签,<router-view>是路由出口,路由匹配到的组件会渲染在这里。

<div class="tab-item">
<router-link to="/goods">商品</router-link>
</div>
<div class="tab-item">
<router-link to="/ratings">评论</router-link>
</div>
<div class="tab-item">
<router-link to="/seller">商家</router-link>
</div>
</div>
<keep-alive>
<router-view :seller="seller"></router-view>
</keep-alive>

在js组件中,要定义路由组件(可从其他文件import进来),定义路由,创建router实例(传入routes配置),创建和挂载根实例

Vue.use(VueRouter);

const routes = [
{path: ‘/goods‘, component: goods},
{path: ‘/ratings‘, component: ratings},
{path: ‘/seller‘, component: seller}
];

const router = new VueRouter({
linkActiveClass: ‘active‘,
routes
});

/* eslint-disable no-new */
new Vue({
el: ‘#app‘,
router,
render: h => h(App)
}).$mount(‘#app‘);

点击区域的设置小技巧。<route.link>中我们设置为display: block,这样字体周围的区域点击后都可以有效跳转。而这个项目之后的内容也用到了设置图标字体的padding来增大有效点击区域。

<router-link>激活是有一个默认的classrouter-link-exact-active,在生成router实例时可以传入参数改变这个class的名称

const router = new VueRouter({
linkActiveClass: ‘active‘,
routes
});

1像素border实现

用border-bottom: 1px solid 设置的话,由于iphone6的dpr是2,在手机上实际显示的是2px的线。要实现真正的1px,可以用伪类after设置1px的border-bottom,然后根据设备的dpr对伪类进行缩放.

在mixin.styl文件中,定义border-1px($color),利用&:after生成border,但是这个border实际上还不是一像素的。在base.styl中全局定义class border-1px的样式

@media(-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)
  .border-1px
    &::after
      -webkit-transform: scaleY(0.7)
      transfrom: scaleY(0.7)
@media(-webkit-min-device-pixel-ratio: 2),(min-device-pixel-ratio: 2)
  .border-1px
    &::after
      -webkit-transform: scaleY(0.5)
      transfrom: scaleY(0.5)

在index.styl文件中可以import所有的styl文件,然后在main.js文件中import index.styl文件

import ‘./common/stylus/index.styl‘;

3组件骨架开发

标签:入参   htm   利用   web   init   标签设置   content   new   orm   

原文地址:http://www.cnblogs.com/dingzibetter/p/7258338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!