SWAN 模板中的动态数据,都从逻辑层 Page 中 data 对象来。

数据绑定和许多模板引擎一样,数据包裹在双大括号里面。
双向绑定的数据需包裹在{= =}中。
例如:
组件 scroll-view 中,scroll-top 和 scroll-left 的使用方法分别为:
scroll-top="{= scrollTop =}"scroll-left="{= scrollLeft =}"代码示例
Hello My {{ name }}
// data-demo.jsPage({data: {name: 'SWAN App'}});
代码示例
属性绑定
// attr-demo.jsPage({data: {className: 'blue'}});
注:属性不需要被双大括号包裹。
代码示例
如果为flag为true,你看得到我。
// condition-demo.jsPage({data: {flag: true}});
SWAN 模板提供了丰富的表达式类型支持,让使用者在编写视图模板时更方便。
通过下面例子列举支持的表达式类型。
{{name}} {{person.name}} {{persons[1]}} {{!isOK}} {{!!isOK}} {{num1 + num2}} {{num1 - num2}} {{num1 * num2}} {{num1 / num2}} {{num1 + num2 * num3}} {{num1 > num2}} {{num1 !== num2}} {{num1 > num2 ? num1 : num2}} {{a * (b + c)}} {{num1 + 200}} {{item ? ',' + item : ''}} {{ ['john', 'tony', 'lbj'] }}
注:对象字面量支持了在模板里重组对象以及使用扩展运算符...来展开对象。
代码示例
标签: {{tag}} 昵称: {{nickname}} 位置: {{pos}} 姓名: {{name}} 球队: {{index}} - {{item}} 年龄: {{age}}
// template-demo.jsPage({data: {person: {name: 'Lebron James', pos: 'SF', age: 33},teams: ['Cleveland Cavaliers', 'Miami Heat', 'Los Angeles Lakers'],tag: 'basketball'}});