Vue.js前端框架

1.[Vue.js官网](https://cn.vuejs.org/index.html
发起人:尤雨溪
定义:渐进式的框架

2.MVVM模式(Model-View-View-Model模式)

3.现代的前端开发模式

4.vue.js的起步练习

vue的使用包括:(1.)CDN引入 (2.)vue
建空项目:vue-basic.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vue.js起步</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>

<div id="app">
<h2>{{message}}</h2>
<h3>{{name}},{{age}}歲</h3>
</div>
<script type="text/javascript">
// 实例化一个Vue对象
var app=new Vue({
el:'#app',
data:{
message:'Vue.js',
name:'尤與溪',
age:'20'
}
})
</script>
</body>
</html>
运行结果:

1.png

两个花括号角插值
el:是指定跟容器
第二个练习:v-model.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vue.js起步</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="name" placeholder="請輸入"/>
<h2>你好,{{name}}</h2>
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
name:'345672'
}
})
</script>
</body>
</html>

主要学习v-model的练习
运行结果:


2.png

练习三:v-bird.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>v-bind练习</title>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>

<div id="app">
<p>姓名:{{name}}</p>
<input type="text" v-bind:value="description" />
<a v-bind:href="url">{{website}}</a>
<img :src="avatar" >
</div>
<script type="text/javascript">
/* 实例化一个Vue对象 */
var app = new Vue({
el: '#app',
data: {
name: '尤雨溪',
description: 'Vue.js的创建者',
website: 'Vue官网',
url: 'https://cn.vuejs.org/v2/guide/',
avatar: 'https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=c08a0c60a844ad342ebf8081e8996bc9/4afbfbedab64034f29596c8ba6c379310b551da2.jpg'
}
})
</script>
</body>
</html>
运行结果:

3.png

主要学习v-bird
练习bird-read

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vue.js起步</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
    <!-- vue-app的根容器 -->
    <div id="app">
        <p>书名:{{name}}</p>
        <input type="text" v-bind:value="description" />
        <a v-bind:href="url">{{website}}</a>
        <!-- <img :src="avatar"> -->
        <img :src="image">
    </div>
    <script type="text/javascript">
        // 实例化一个vue对象
        var app=new Vue({
            el:'#app',
            data:{
                name:'楷书',
                description:'作者:成长营',
                website:'豆瓣网址',
                url:'https://img3.doubanio.com/view/subject/m/public/s30023474.jpg',
                image:'https://img3.doubanio.com/view/subject/m/public/s29950575.jpg'
            }
        })
    </script>   
</body>

</html>
运行结果:


11.png
12.png

条件渲染指令:v-if,v-else-if,v-else ,v-for(频繁切换)
列表渲染指令:v-for

第四个练习:condition-group.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vue.js条件和循环的综合练习</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<style type="text/css">
.container{
display: flex;
width: 80%;
margin: 0 auto;
}
.card{
width: 200px;
height: 200px;
margin-right: 30px;
border 1px solid #eee;
border-radius: 10px;
}
.card img{
width: 100%;
height: 100%;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
.like{

            color: #7FFF00;
        }
        .cover{
            color: antiquewhite;
        }
    </style>
</head>
<body>
    <!-- vue-app的根容器 -->
    <div id="app">
        <h2 v-if="show">显示图片信息</h2>
        <div class="container">
            <!-- 通过循环遍历books数组 -->
            <div class="card" v-for="book in books">
                <!-- 显示图片的名字 -->
                <h4>{{book.name}}</h4>
                <!-- 绑定图片的封面属性 -->
                <img :src="book.cover">
                <!-- 判定like的值,显示不同的文字 -->
                <p v-if="book.like" >喜欢</p>
                <p v-else>不喜欢</p>
                
            </div>
        </div>
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:'#app',
            
            data:{
                show:true,
                books:[
                    {
                    name:'时间',
                    cover:'img/book1.jpg',
                    like:true,
                    }
                    ,
                    {
                    name:'阳光',
                    cover:'img/book2.jpg',
                    like:false,
                    }
                    ,
                    {
                    name:'明天',
                    cover:'img/book3.jpg',
                    like:false,
                    }
                    ,
                    {
                    name:'你好',
                    cover:'img/book4.jpg',
                    like:true,
                    }
                ]
            }
        })
    </script>

    
</body>

</html>
运行结果:


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

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,452评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,641评论 0 6
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 9,012评论 0 6
  • 现今社会,人的工作意义大幅度减少,做事基本属于添乱!新的人类价值,应该从小学开始全面修改!活着的意义不再是创造“生...
    邹梓杰阅读 3,362评论 0 0
  • 今年的夏天,是我记忆中体温最最不能忍受的一个夏天。人们口中对渴望雨水的欲求,被不无例外的提上了谈资日程。 ...
    真浈阅读 1,534评论 0 2