如何与Aurelia重复绑定到对象
How to bind to object in repeat.for with Aurelia
我目前正在尝试创建一个具有可绑定属性的自定义元素,并将该属性绑定到repeat.for循环的变量。这似乎应该是一项简单的任务,但我无法让它发挥作用,我想知道这是否与变量是一个对象有关。我的自定义元素的代码如下:
游戏卡.js
import { bindable } from 'aurelia-framework';
export class GameCard {
@bindable gameData = null;
@bindable name = '';
bind() {
console.log('card-game-data: ' + JSON.stringify(this.gameData, null, 2));
console.log('name: ' + this.name);
}
}
游戏卡.html
<template>
<div class="card medium">
<h3 class="center-align left">${gameData.name}</h3>
<div class="right-align right">${gameData.isPublic}</div>
</div>
</template>
使用自定义元素的视图如下:
<template>
<require from="./game-card"></require>
<div>
<div class="row">
<div repeat.for="game of games">
<game-card class="col s6 m4 l3" gameData.bind="game" name.bind="game.name"></game-card>
</div>
</div>
</div>
</template>
游戏对象如下所示:
[{name: 'SomeName', isPublic: true}, {name: 'AnotherName', isPublic: false}]
现在,当我运行代码时,game-card.js绑定方法中的console.log语句为gameData打印出未定义的内容,但为console.log('name: ' + this.name)
语句打印出正确的游戏名称。我不明白为什么当我绑定到游戏对象的属性时绑定有效,但当我绑定游戏对象本身时却无效。任何帮助都将不胜感激,非常感谢!
您必须编写game-data.bind
而不是gameData.bind
。从第一眼看,这应该是
相关文章:
- 如果数据绑定对象只有它的名称,那么敲除如何知道它
- 如何使用普通js绑定对象以更新值
- Knockoutjs 绑定对象问题
- 如何将 require('') 对象传递到绑定对象的作用域中
- 如果 ajax 刷新了绑定对象,则 .submit 不起作用
- 角度无意绑定/对象镜像
- 在 JavaScript 中传递绑定对象方法
- 循环绑定对象
- 我应该如何在ng重复中绑定对象的值
- Knockout js:用于绑定对象而不是单个值的代码
- Paper.js Z索引和绑定对象
- AngularJS-绑定对象列表
- 如何在指令的link函数中对绑定对象做出反应
- 事件创建中的Javascript绑定对象
- 删除元素时是否需要清除绑定对象?
- 为绑定对象添加属性
- javascript绑定对象's原型函数
- AngularJS用复选框绑定对象
- 有没有可能保护'this'引用绑定对象内的函数
- Angular绑定对象元素到HTML