• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

探索Vue.js component内容实现

vue 搞代码 4年前 (2022-01-08) 33次浏览 已收录 0个评论

这篇文章主要和大家一起探索Vue.js component内容实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

现在来系统地学习一下Vue(参考vue.js官方文档):

Vue.js是一个构建数据驱动的web界面的库,其目标是实现响应的数据绑定组合的试图组件

Vue.js拥抱数据驱动的视图概念,这意味着我们能在普通的HTML模板中使用特殊的用法将DOM“绑定”到底层数据。一旦创建了绑定,DOM将于数据保持同步。

以下参考代码与上面的模型相对应

 <!-- 这是我们的 View --><div id="example-1"> Hello {{ name }}! </div> // 这是我们的 Model var exampleData = { name: 'Vue.js' } // 创建一个 Vue 实例或 "ViewModel" // 它连接 View 与 Model var exampleVM = new Vue({ el: '#example-1',  // 在一个id为'example-1'的实体上挂载 data: exampleData  // 数据流 }) 

通常我们会把Model写在Vue实例当中,下面写法与上面写法效果一样:

 <!-- 这是我们的 View --><div id="example-1"> Hello {{ name }}!  <!--- Vue的数据模型用{{datamodel}}包裹起来 --></div> // 创建一个 Vue 实例或 "ViewModel" // 它连接 View 与 Model<br>

这样一段程序执行后,在#example-1这个控件中就会显示‘Hello Vue.js!’。

下面来看看指令(Directives):
指令是特殊的带有前缀 v- 的特性,指令的值限定为绑定表达式,比如一个if的指令:

hello!

还有绑定指令,即将某些属性值与一些值相绑定,比如:


这里省略了“v-bind”,使得input的属性值赋值具有“计算”的效果。 

计算属性

这里介绍一下$watch的用法,用于当一个数据需要根据其他的数据而变化时的情况:

  vm.$watch('firstName', function (val) { // 当firstname改变时,立马更新vm.fullname this.fullName = val + ' ' + this.lastName }) vm.$watch('lastName', function (val) {  // 当lastname改变时,立马更新vm.fullname this.fullName = this.firstName + ' ' + val }) 

在这里,所有的数据的对象都可以通过vm.firstname等来访问。   

v-model  

顾名思义,就是Vue当中的数据模型,它用来绑定Vue实例中的数据:

 <!--- bi-direction bound --><div id="app"> <p>{{message}}</p><!--Model,input输入的数据会立即反馈到Vue实例中--></div>

比如要用来绑定一个表单控件,就是把选择的值显示出来:

 <!---    表单控件绑定-单选 --><div id="myselect">  // 外面这一层我一开始没有加,然后就出错了,el好像一般是挂载在<div>构件上  // data的数据类型是selected,值是选取的值 ABC<span>Selected: {{ selected }}</span></div>

v-if, v-else   

这个指令可以用的很灵活,比如我在表单中生成新题目,有“单选题”、“多选题”、“文本题”三种,那么针对不同的题目应该显示的控件有所不同,这时可以使用如下语法:

 <div> // 注意是三个等号 <textarea></textarea></div><div> <div></div></div>

 

v-for

这个用于对数组元素的遍历,举个例子: 

 <ul id="demo"> <li class="item-{{$index}}">  <!--- $index指的是当前数组元素在数组中的位置 --> {{parentMessage}} - {{$index}} - {{item.message}} <!--一个view结构--></li></ul><button id="btn1">点击我</button>

以上代码的意思是遍历demo实例中的items数组,将里面的每一个数组元素(’Foo’,’Bar’)分别在

  • 标签中显示出来

    为了避免对整个列表进行渲染,经常会使用:track-by = “$index”,表示只对当前数组元素进行操作。  

    至此,关于Vue的最基本的东西已经介绍完,需要更多的API资料可以参考: http://cn.vuejs.org/api/ 

    Vue文件的结构以及数据流的控制

    在vue文件中,我们经常可以看到这样的格式:

      <div> </div>  

    中放置的是这个页面(或者页面的一部分)所拥有的控件,而

  • 最后讲讲this.$els: 一个对象,包含注册有v-el的DOM元素

     <div class="promt-header"> <div> <label> 问题名称: </label></div></div><div class="promt-footer"> <button type="button"> 确定 </button><button type="button"> 取消 </button></div>

    上面的代码是不完整的,但是可以看到,v-el把该控件挂载在一个名字为”item-title”的实体中,我们可以通过this.$els.it本文来源gao@!dai!ma.com搞$$代^@码5网@emTitle将其提取出来

    要使用该控件的属性值(输入值),可以这样:

    this.$els.itemTitle.value

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

    以上就是探索Vue.js component内容实现的详细内容,更多请关注gaodaima搞代码网其它相关文章!


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:探索Vue.js component内容实现

    喜欢 (0)
    [搞代码]
    分享 (0)
    发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址