常用js框架之vue.js入门

学习vue.js我是参考菜鸟教程的:http://www.runoob.com/w3cnote/vue-js-quickstart.html

它的原理我理解起来就是模板,就是在自己的js中(model层)定义好一套标签,在html(view层)使用这些标签,到渲染的的时候使用核心vue.js(view-model中间层),一一映射出来。
如下例子:
view层:

<div id="app">
  {{ message }}
</div>

model层:

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

中间view-model层vue.js在html中引入即可。可以发现在model层定义了一个Vue模板,new Vue()
参数很眼熟,没错就是json,不过这个json在vue体系中是固定格式{el:”,data:{}}
el中指定使用该vue实例的模块id,data中指定待会要替换的标签有哪些。
是不是很简单。

接下来就是各种使用规则了:
1.最简单的{{}}引用刚才已经用过了,这种使用于一般文本,如果不希望文本后续动态改变,可以用{{*}}
2.v-model=“”,功能类似{{}},可以放在模块的属性中使用,比如
3.列表使用模板用 v-for

//view层
<div id="app">
  <ul>
    <li v-for="todo in todos">
      {{ todo.text }}
    </li>
  </ul>
</div>
//model层
<script>
    new Vue({
  el: '#app',
  data: {
    todos: [
      { text: 'Learn JavaScript' },
      { text: 'Learn Vue.js' },
      { text: 'Build Something Awesome' }
    ]
  }
})
</script>

可以看到model层中,data的数据中定义了一个todos数组,所以使用v-for=”todo in todos”,相当于

for(var i=0;i<todos.length;i++){
     var todo = todos[i];
}

这时候调用todo.text即可取到todos[i]中定义的text属性的值

另外{{ $index }}可以取到当前下标

4.条件判断

<h1 v-if="true">Yes</h1>
<h1 v-else>No</h1>

if else实在太熟悉了,v-if的值应该是一个返回boolean的表达式,如果里面需要写很多模块内容,可以用template封装,如下:

<template v-if="false">
  <h1>Title</h1>
  <p>Paragraph 1</p>
  <p>Paragraph 2</p>
</template>
<template v-else>
  <h1>Title1</h1>
  <p>Paragraph 2</p>
  <p>Paragraph 3</p>
</template>

v-show作用与v-if类似,不同的是v-show的元素会始终渲染并保持在 DOM 中,且v-show不支持标签。

<h1 v-show="true">Hello!</h1>

5.过滤器,看以下代码,通过“|”符号链接,可以对message字符串做后续处理

<div id="app">
    <p>{{message}}</p>
    <p>{{message | uppercase}}</p>
    <p>{{message | reverse | uppercase}}</p>
</div>
<script>
Vue.filter('reverse', function (value) {
    return value.split('').reverse().join('')
})
new Vue({
  el: '#app',
  data: {
      message:'www.runoob.com'
  }
})
</script>

uppercase是内部定义的方法所以没有定义,reverse方法得手动定义Vue.filter(filter名称,filter处理函数)
处理函数中的value代表被过滤的值也就是前面的message,注意处理函数最后要return一个值才生效。

以上是data相关的内容,当然如果在data中设置多个字段也是可以的,依照json的格式写就哦了。

new Vue({
  el: '#app',
  data: {
      message:'www.runoob.com',
      items:[{text:'text1'},{text:'text2'},{text:'text3'}]
  }
})

7.http://vuejs.org/guide/index.html在官网上继续看,vue中的方法模板
使用的是methods字段,是这样定义的

new Vue({
        el:'#app',
        data:{message:'我去!!'},
        methods:{
            reverseMessage:function(){
                this.message = this.message.split("").reverse().join("");
            }
        }
    })

这里定义了一个反转方法模板,操作的是data里的message,从它的用法上this.message暂且猜测this代表的是data,所以可以操作message。
最后引用

<button v-on:click="reverseMessage">reverseMessage</button>

可以看出v-on应该还有很多其他事件,这里选用了click点击事件。

ok,入门就这些了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
自己写的一个网页开发常用效果库与框架库,可以自定义导出自己想要的部分。 1.通过帮助文档help.html查看所有效果与使用方法。 2.通过config.html配置符合你需要并导出js; 内容包含如下: A:效果库类; 1.事件-同时兼容手机与pc的3种事件(start、move、end); 2.tab选项卡-各种切换6种; 3.电商产品主图-横向与纵向2种; 4.放大镜-电商主图放大镜、图库鼠标悬停旁边出现放大版图效果各一个; 5.跑马灯-文字或图片不断档可支持鼠标悬停时停止; 6.仿alert弹窗-可以自定义样式,手机版pc版个一种; 7.列表下拉加载更多-伪数据加载与ajax异步加载个一种; 8.折叠菜单一个; 9.banner图效果-7种包含手机上支持手指滑动的; 10.时间轴-控制1种; 11.自定义滚动条-横向、纵向各一种; 12.临时禁用滚动条-禁用与启用方法各一个,也能禁用手机滚动条,同时解决px滚动条占用宽度问题。 13.图表等比例-使图片始终保持设定比例缩放等供3种不同形式; 14.回到顶部-点击回到浏览器顶部; 15.漂浮窗-小漂浮窗广告; 16.图集展示-偶尔能用到; 17.滚屏效果-手指上下滑动或鼠标滚轮滚动切换页面,可自己配一些动效!!!!!!; 18.常用表单验证; 19.左滑删除; 20.复选框全选与取消选中; 21.内容拖动!!!!!!; 22.dom输入; 23.单例定时器; 24.ios软键盘弹出fixed定位问题处理!!!!!!; B:架构类; 1.流程控制-主要解决多个ajax调用依赖问题; 2.面向对象的class方法-方便定义类与集成类; 3.require-实现模块化开发,简单实用; 提示:用!!!!!!标注结尾的在某些场景下可能出现bug;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值