蝈蝈领你玩--Vue.js前端库(二)

Vue中的模板

当我们创建一个Vue实例的时候,可以设置两个属性,el和template。其中el是用来设置挂载元素的,通常是一个CSS选择器。

   var model = {
          message:'Hello World'
    };
   new Vue({
        el:'#app',
        data:model
   })

template属性的作用是,将HTML内容插入到对应的挂载元素中。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{ message }}</p>
</div>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
    var model = {
        message: 'Hello World!'
    }
    // 创建一个 Vue 实例
    new Vue({
        el: '#app',
        data: model,
        template:"<div><input type='text' value='你好世界!' /></div>"
    })
</script>
</body>
</html>

运行的结果是,template中的内容会替换挂载元素。

image.png

由于将HTML、CSS及JavaScript模板直接定义到template属性中,以字符串形式来描述,不便于编写和调试。所以,Vue提供了将模板写入到<script>或者
<template>中的形式。

使用<script>标签编写模板:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{ message }}</p>
</div>
<script type="text/x-template" id="temp">
    <div>
        <input type="text" value="你好世界!">
    </div>
</script>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
    var model = {
        message: 'Hello World!'
    }
    // 创建一个 Vue 实例
    new Vue({
        el: '#app',
        data: model,
        template:"#temp"
    })
</script>
</body>
</html>

使用<template>标签编写模板:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{ message }}</p>
</div>
<template id="temp">
    <div>
        <input type="text" value="你好世界!">
    </div>
</template>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
    var model = {
        message: 'Hello World!'
    }
    // 创建一个 Vue 实例
    new Vue({
        el: '#app',
        data: model,
        template:"#temp"
    })
</script>
</body>
</html>

Vue中的数据

Vue主要的工作内容就是将DOM和数据模型进行双向绑定。完成这个功能是通过创建Vue实例。创建Vue实例,就是在调用Vue.js中的构造器来创建对象,因此我们可以获取到创建的JavaScript对象。在Vue实例中通过$data可以获取到数据模型。或者通过Vue实例直接获取数据模型中的数据。

var model = {
     name:'悟空',
     birthday:'1998-10-10',
     major:'计算机科学与技术'
};
//创建Vue实例,完成双向绑定
var viewmodel = new Vue({
      el:'#app',
      data:model
});
console.log(viewmodel.$data===model)   //打印结果为true
console.log(viewmodel.name===model.name)   //打印结果为true

model.name='孙悟空'
console.log(viewmodel.name)    //打印结果为孙悟空

viewmodel.name='八戒'
console.log(model.name)      //打印结果为八戒

方法

在创建Vue实例的时候,可以创建方法对象,其中可以包含多个方法。这些方法可以用来处理事件或其它用途。在绑定事件处理方法的时候,需要用v-on指令,后续会详细介绍Vue中的指令。
下面,我们来实现一个输入框,用来输入名字,点击按钮后显示“你好,XXX”。
运行结果:

image.png
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <input type="text" v-model="message"><br>
    <button v-on:click="hello">点击我</button>
</div>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script>
    var model = {
        message: 'Hello World!'
    }
    // 创建一个 Vue 实例
    new Vue({
        el: '#app',
        data: model,
        methods:{
            hello:function(){
                alert("你好,"+this.message);
            }
        }
    })
</script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,485评论 0 29
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 11,276评论 0 42
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,707评论 0 6
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,805评论 4 129
  • 静静的看着,远处 灯火阑珊的街头 枯寂的等待 谁曾想过的结局 曾爱过的爱人啊 转身离开的背影 没有了依恋 失去的眷...
    妙斋居士阅读 3,244评论 0 1

友情链接更多精彩内容