我开始冒险进入 Angular2 进行一个爱好项目,并且遇到了一些我不知道如何调试或搜索的东西。
我开始使用ng2-play存储库。
我有两个简单的类(这篇文章的代码被大大简化了):
words-ui.js
export class WordsUI {
constructor() {
new Words(data => this.words = data);
}
}
单词-ui.html
<ol *if="words" reversed>
<li *for="#entry of words" title="Word for week starting {{entry.date}}">{{entry.word}}</li>
</ol>
words-data.js
export class Words {
constructor(cb) {
firebase
.child('words')
.on('value', data => cb(data.val()));
}
}
唯一不能正常工作的是“范围”识别出属性的值words
已经更新。这意味着当 UI 加载时,单词列表中不会显示任何内容。如果我随后通过 UI 向列表中添加一个单词,则所有单词以及添加的单词都会显示出来。或者,如果我输入一个 setTimeout 来“重新加载”words
具有自身值的属性,它们就会显示出来。
我想我没有为此使用正确的模式,但是我在哪里可以找到哪种模式更适合这种情况。我有点迷失在新的 ES6 模块系统以及:TypeScript 和 AngularJS 2。
我想我已经提供了代码的相关部分来说明问题,但如果没有,请告诉我,我可以努力组合更好的东西。
更新 1:添加了视图文件。对实例words
“上下文”的更改未反映。WordsUI