数据绑定是用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. C#获取用户登录IP地址

    public static string GetUserIp() {        string ip;        string[] temp;        bool isErr = false ...

  2. SVG初尝试(一)

    SVG简介 SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics).其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它 ...

  3. 安装vue错误详情解决办法

    寄语:vue的安装不是理想化的,会出现很多问题,需要静下心认真研究,熬过去就会懂得更多,以下是我遇到的问题和最真挚的建议,按照我的方法不会出错,一定会成功,我尝试了很多次方式,查阅了很多资料,最终总结 ...

  4. postgre的函数创建

    语法: CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name ...

  5. Android开发PreferenceActivity 用法的代码

    将开发过程中常用的一些内容做个收藏,下面资料是关于Android开发PreferenceActivity 用法的内容,希望对大伙有一些用处.public class Setting extends P ...

  6. vs2017 EFCore 迁移数据库命令

    项目结构: 首先引用 Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.Design 增加类DesignTimeDbC ...

  7. JetBrains系IDE的设置Pycharm PHPStorm

    一.换号边界线 File ->  Settings  ->Editor ->  Code Style -> Right margin (columns) 二.代码自动完成快捷键 ...

  8. Linux下crontab计划任务使用详解

    Linux在相应用户下,用crontab -l 命令可以查看该用户定时执行的任务,-e可以编辑,但是其真实文件在哪儿呢??以CentOS为例,其真实的位置在:/var/spool/cron下面,有执行 ...

  9. 一个类,有新增元素(add)和获取元素数量(size)方法。 启动两个线程。线程1向容器中新增数据。线程2监听容器元素数量,当容器元素数量为5时,线程2输出信息并终止

    方式一: /** * 两个线程要是可见的所以要加上votalile */public class Test_01 { public static void main(String[] args) { ...

  10. 关于<服务器>定义

    定义: 服务器,也称伺服器,是提供计算服务的设备.由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力.   服务器的构成:包括处理器.硬盘.内存.系统总线等,和 ...