vue静态组件

1.使用方法和组件

import TodoHeader from './components/TodoHeader' //导入TodoHeader .vue 文件

components:{}   这个里面是放子组件的

:content 强制绑定    到子组件接收数据的时候使用props[‘content’]

<TodoHeader />  这个是在 components 里面命名 子组件

methods:{}methods属性是定义方法的主要区域

import './base.css' 这个是导入 base.css文件


2.实例代码

项目结构

App.vue

  <div class="todo-container">

    <div class="todo-wrap">

  import TodoHeaderfrom './components/TodoHeader'

  import TodoFooterfrom './components/TodoFooter'

  import TodoListfrom './components/TodoList'

  export default {

name:'App',

    data () {

return {}

},

    components: {

TodoHeader,

      TodoFooter,

      TodoList

},

    created () {

},

    methods: {}

}

<style scoped>

  .todo-container {

width:600px;

    margin:0 auto;

  }

.todo-container .todo-wrap {

padding:10px;

    border:1px solid #ddd;

    border-radius:5px;

  }


TodoFooter.vue

  <div class="todo-footer">

      <input type="checkbox"/>

          <span>已完成0</span> /全部2

    <button class="btn btn-danger">清除已完成任务

  export default {

name:'TOdoHeader',

    data () {

return {}

},

    created () {

},

    methods: {}

}

<style scoped>

  .todo-footer {

height:40px;

    line-height:40px;

    padding-left:6px;

    margin-top:5px;

  }

.todo-footer label {

display:inline-block;

    margin-right:20px;

    cursor:pointer;

  }

.todo-footer label input {

position:relative;

    top: -1px;

    vertical-align:middle;

    margin-right:5px;

  }

.todo-footer button {

float:right;

    margin-top:5px;

  }


TodoHeader.vue

  <div class="todo-header">

    <input type="text" placeholder="请输入你的任务名称,按回车键确认"/>

  export default {

name:'TOdoHeader',

    data () {

return {}

},

    created () {

},

    methods: {}

}

<style scoped>

  .todo-header input {

width:560px;

    height:28px;

    font-size:14px;

    border:1px solid #ccc;

    border-radius:4px;

    padding:4px 7px;

  }

.todo-header input:focus {

outline:none;

    border-color:rgba(82, 168, 236, 0.8);

    box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);

  }


TodoList.vue

  <ul class="todo-main">


        <input type="checkbox"/>

        <span>xxxxx

      <button class="btn btn-danger" style="display:none">删除


        <input type="checkbox"/>

        <span>yyyy

      <button class="btn btn-danger" style="display:none">删除

  export default {

name:'todoList',

    data () {

return {}

},

    created () {

},

    methods: {}

}

<style scoped>

  .todo-main {

margin-left:0px;

    border:1px solid #ddd;

    border-radius:2px;

    padding:0px;

  }

.todo-empty {

height:40px;

    line-height:40px;

    border:1px solid #ddd;

    border-radius:2px;

    padding-left:5px;

    margin-top:10px;

  }

li {

list-style:none;

    height:36px;

    line-height:36px;

    padding:0 5px;

    border-bottom:1px solid #ddd;

  }

li label {

float:left;

    cursor:pointer;

  }

li label li input {

vertical-align:middle;

    margin-right:6px;

    position:relative;

    top: -1px;

  }

li button {

float:right;

    display:none;

    margin-top:3px;

  }

li:before {

content:initial;

  }

li:last-child {

border-bottom:none;

  }



base.css

body {

background:#fff;

}

.btn {

display:inline-block;

  padding:4px 12px;

  margin-bottom:0;

  font-size:14px;

  line-height:20px;

  text-align:center;

  vertical-align:middle;

  cursor:pointer;

  box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);

  border-radius:4px;

}

.btn-danger {

color:#fff;

  background-color:#da4f49;

  border:1px solid #bd362f;

}

.btn-danger:hover {

color:#fff;

  background-color:#bd362f;

}

.btn:focus {

outline:none;

}

三、demo实现效果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容