数据绑定是用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. python pymysql.err.InternalError: (1366, "Incorrect string value: '\\xE9\\x9F\\xA9\\xE6\\xA2\\x85...

    python3使用pymysql报错:   image.png 代码: #插入数据 try: sql = 'INSERT INTO classb (a_id,name,age) VALUES (6,& ...

  2. 解决 win10 新建文件夹重命名卡死的另一种方法

    遇到 win10 新建文件夹重命名卡死时 根据网上的各种方法都不起作用时可以试一下这个方法. 文件夹属性 --- 自定义 --- 你想要那种文件夹 优化此文件夹 --- 把 [视频] 改成 [常规项目 ...

  3. 手把手教你写vue插件并发布(二)

    前记:上一篇 https://www.cnblogs.com/adouwt/p/9211003.html, 说到了一个完整的vue插件开发.发布的流程,总结下来就讲了这么一个事,如何注入vue, 如果 ...

  4. 【Linux】常见基础命令之系统操作

    linux现在基本上已成为面试的必考题目,特此总结一些常用的基础命令. cd:切换目录 lilip@ubuntu:~$ cd /home/lilip/test pwd:打印当前目录 lilip@ubu ...

  5. LoadRunner结果分析与生成报告

    启动Analysis会话 1.打开HP LoadRunner2.打开LoadRunner Analysis在LoadRunner Analysis选项卡中单击分析负载测试3.打开Analysis会话文 ...

  6. vertx.FileResolver文件解析

    FileResolver Class //文件复制解析,复制文件到cache directory 中 ,VM options : -Dvertx.disableFileCPResolving publ ...

  7. 非root用户加入docker用户组省去sudo

    服务器环境:centos7.6.1810,Docker version 18.09.3 1.使用有sudo权限的帐号登录到服务器系统,如:test用户 2.新建用户组docker之前,查看用户组中有没 ...

  8. 单点登录前戏(未使用jwt版本)

    建表 from django.db import models import jwt # Create your models here. # 角色表 class RoleTable(models.M ...

  9. Linux基础 -Ubuntu

    Ubuntu 下: sudo 以管理员权限执行 apt 是Advanced Packaging Tool ,Ubuntu下的安装包管理工具,早期使用apt-get,从Ubuntu16开始建议使用apt ...

  10. C#学习-查询表达式

    查询表达式必须以from子句开头,并且必须以select或group子句结尾 在第一个from子句和最后一个select或group子句之间,可以包含一个或多个where子句.orderby.join ...