数据绑定是用template7,官网,framework7内置template7,不用单独下载,下面介绍一些简单的绑定

当你的数据是个数组

return{
data:function(){
let item=[
{name:"jack",age:"18"},
{name:"tom",age:"19"}
]
return {
data:item,
sex:"男"
}
}
}

        {{#each data}}       //data是个数组 ,用 #each

        <div>Name:{{name}},Age:{{age}}</div>

        <span>{{../sex}}</span>      //sex不是data的子集,要从#each外部取,所以要用 ../sex ,如果#each外部还有父级  ,则用 ../../sex

        {{/each}

当你的数据是个object

return{
data:function(){
let item={
name:"jack",
age:18,
}
return {
data:item
}
}
}
   <div>{{data.name}},{{data.age}}</div>        

或者不管是数组还是对象,都可以这样

return{
data:function(){
let people=[
{
name: 'John Doe',
age: 18
},
{
name: 'Mark Johnson',
age: 21
}
];
let props={
power: '150 hp',
speed: '200 km/h',
};
return {
peoples:people,
props:props
}
}
        {{#peoples}}
<div>{{name}},{{age}}</div>
{{/peoples}} {{#props}}
{{power}},{{speed}}
{{/props}}

当你的数据是从服务器获取时,上一章讲过我们用$setState,

如果你要绑定的数据是object,并且层级很多的话,需要这样写

return{
data:function(){
return {
data:{},
obj:{ //为了避免报undefined,要把数据结构写上
a:{
b:{
cc:""
}
}
}
}
},
on:{
pageInit:function(){
let item={
name:"jack",
age:18
};
let item2={
a:{
b:{
name:"tom"
}
}
}
this.$setState({
data:item,
obj:item2
});
}
}
        <div>  {{data.name}},{{data.age}} </div>

        <div>{{obj.a.b.name}}</div>

有时候可能需要对数据进行判断,

<template>
<div class="page"> {{#if data.flag}} //if能做true或false判断
<div>{{text}}</div>
{{else}}
<div>False</div>
{{/if}} </div>
</template>
<script>
return{
data:function(){
let item={
flag:true
};
return {
data:item,
text:"True"
}
} }
</script>

当你要做些复杂判断,比如表达式的值不是true或者false的时候,就要用 js_if

<template>
<div class="page">
{{#data}} {{#js_if "this.age>=18"}} //注意用 " " 包起来 this是 对当前上下文的引用
成年{{sex}}
{{else}}
未成年{{sex}}
{{/js_if}} {{/data}}
</div>
</template>
<script>
return{
data:function(){
let item={
age:18,
sex:"男"
};
return {
data:item,
}
} }
</script>

有时候可能要对数据进行处理再显示

<template>
<div class="page">
{{#data}}
{{js "this.price*1.2"}} //注意用 "" 包起来
{{js "this.buy?'买':'不买' "}}
{{/data}}
</div>
</template>
<script>
return{
data:function(){
let item={
price:100,
buy:true
};
return {
data:item,
}
} }
</script>

 

framework7 入门(数据绑定)的更多相关文章

  1. Entity Framework7 入门之全功能.NET版本下使用EF7(含源码)另附数据迁移常见错误处理

    Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7 昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Fr ...

  2. (二)cordova+framework7入门——笑笑APP

    [前言] framework7确实做的很赞,但是一直各种原因没有做什么app, 这个感觉就像大厨遇到百年难见的好材料,不炒个菜憋的慌, 机缘巧合周一周二两个晚上做了一个简单app,先看下效果: ios ...

  3. Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7

    昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Framework7 有哪些不同?现在开发到什么程度了? .今天,我们开学习全功能.NET(Full .NET)下使用EF ...

  4. Framework7 - 入门教程(安装、配置、创建一个H5应用)

    1,Framework7介绍 (1)Framework7 是一个开源免费的框架.可以用来开发混合移动应用(原生和 HTML 混合)或者开发 iOS & Android 风格的 WEB APP. ...

  5. Angular2入门-数据绑定

    ▓▓▓▓▓▓ 大致介绍 Angular2中数据绑定的方式默认是以单向方式,数据绑定的方式可以分为: 1.属性绑定和插值表达式 组件类-> 模板 2.事件绑定:模板 -> 组件类 3.双向绑 ...

  6. framework7 入门(数据获取和传递)

    数据获取 framework7自带request方法 , var app = new Framework7({...});app.request(parameters) 或者 Framework7.r ...

  7. framework7 入门(基础布局)

    个人认为framework7是个很好的移动端框架,自带路由.下拉刷新.无限加载.时间线.各种dialog.环形图等,基本能满足大部分app的需求,可以和vue,webpack 等各种搭配. 这里讲一下 ...

  8. 前端移动框架Framework7入门

    正版官网:https://framework7.io/  (英文) 对应国内:http://www.framework7.cn/ (中文) 本地构建步骤(Demo级别) 1.HTML结构 2.引入Fr ...

  9. Android Kotlin 数据驱动模板

    Android开发人员文档: 数据绑定入门 数据绑定库 生成的绑定类 布局和绑定表达式 1. 搭建环境build.gradle:app apply plugin: "kotlin-kapt& ...

随机推荐

  1. NodeJS Addon 多线程通信

    某个产品的Mac客户端计划基于electron实现,因为现有SDK有C API,原理上用NodeJS Addon来封装成JS API就可使用了.但涉及到与Addon多线程交互,翻找资料没能找到到底该怎 ...

  2. vue性能

    刚开始接触vue觉得vue真是好,用起来好方便呀,与以往的用jquery类库写逻辑,简直方便的要死.网上也都是对vue的好评,但是呢我现在的感觉就是vue真坑,真垃圾.     先说的我们项目遇到到问 ...

  3. 【原创】用python连接thrift Server 去执行sql的问题总汇

    场景:python和现有产品的结合和应用——python的前瞻性调研 环境:centos7 0.首先确保安装了python和pyhive,下面是连接代码: #!/usr/bin/env python ...

  4. js逗号表达式

    在js中的某些场景,","是一种运算符号,只不过他的优先级要低于普通的原酸符,在变量声明或者return中,经常看到逗号表达式. 声明变量: var a=1,b=2,c=3; co ...

  5. Java常见的10个异常

    1.NullPointerException: 空指针异常,当操作一个 null 对象的方法或属性时会抛出这个异常.是一个很头疼的异常,因为它是运行时异常,不需要手动捕获,但运行时碰到这个异常会中断程 ...

  6. swoole框架基本总结

    框架-Swoole扩展-Swoole文档中心 http://wiki.swoole.com/wiki/page/p-framework.html swoole有两个部分. 一个是PHP扩展,用C开发的 ...

  7. Javascript执行上下文和执行栈

    什么是执行上下文? 执行上下文就是当前JavaScript代码被解析和执行时所在环境的抽象概念,JavaScript中运行任何的代码都是在执行上下文. 什么是执行栈? 执行栈,在其他编程语言中也被叫做 ...

  8. 编辑请求内容 Charles

    1 选中request, 右键选择 Breakpoints 2 再次运行edit request, excute, edit response. excute

  9. Linux:从入门到放弃

    [未解决] # 周五,安装ubuntu 18.04 # 周六,相继安装minit / deepin 系统. # 至今,遇到过还没有解决的问题有: # . 开机ACPI Error: # . 无论哪个L ...

  10. docker使用教程

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...