- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我开始为一个业余项目冒险使用 Angular2,但遇到了一些我还不知道如何调试或搜索的东西。
我开始使用 ng2-play存储库。
我有两个简单的类(这篇文章的代码大大简化了):
words-ui.js
export class WordsUI {
constructor() {
new Words(data => this.words = data);
}
}
words-ui.html
<ol *if="words" reversed>
<li *for="#entry of words" title="Word for week starting {{entry.date}}">{{entry.word}}</li>
</ol>
单词数据.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:添加了 View 文件。 WordsUI
实例的“上下文”上的 words
的更改不会反射(reflect)出来。
最佳答案
因此,我在最初遇到这种情况的几个小时后找到了答案 - 或者变通,具体取决于您的观点。这个爱好项目的最终存储库在 GitHub Weekly Word 上.
我实际上是在尝试从传递给 Word 构造函数的回调中为 WordsUI 实例设置一个属性。我认为不知何故没有被拾取,而是“范围观察者”zones.js
(我认为)。
我将数据读取从 Word 实例移到了实例的后续调用中;而不是试图变得狡猾并将其保留在传递给构造函数的回调中。
我不认为这种方法——我最终使用的方法——一定是低劣的,前者也不是真的有任何优势。
words-ui.js
export class WordsUI {
constructor() {
this words = new Words();
this.update();
}
update() {
this.words
.read(words => {
this.wordList = words;
})
}
}
单词数据.js
export class Words {
constructor() {
firebase = new Firebase('http://weekly-word.firebase.com').child('words');
}
read(cb) {
firebase
.on('value', data => {
cb(data);
})
}
}
关于angular - 为什么我的属性没有在 "Scope"内更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882101/
我在这里有我的 javascript 代码: define(['controllers/controllers', 'services/alerts'], function(module) {
的意义是什么scope = scope-token *( SP scope-token ) scope-token = 1*( %x21 / %x23-5B / %x5D-7E ) 在 RFC6749
我是 AngularJS 的新手。我试图找出这两个 Controller 定义之间的区别: app.controller('simpleController', ['$scope', function
似乎所有 Guice 的开箱即用 Scope 实现本质上都是基于线程的(或完全忽略线程): Scopes.SINGLETON和 Scopes.NO_SCOPE忽略线程并且是边缘情况:全局范围和无范围。
如果这个问题涉及的是一个常见问题,我很抱歉,但我发现这个问题非常抽象,并且无法真正为其构建一个好的 Google 搜索词。 我试图理解并找到 Maven 中提供的依赖项的用例。我的想法是这样的: 假设
假设我有以下 Controller angular.module('scopeExample', []) .controller('MyController', ['$scope', func
当前在TmThemeEditor上注册的243种配色方案中, 我注意到几乎没有人使用范围选择器运算符。 对于以下情况,运算符非常有用: (text.html | text.xml) & (meta.t
我有一些行为不符合预期的代码......我在 AngularJS Controller 中有一个事件监听器,如下所示: $scope.$on("newClipSelected", function(e
首先,如果帖子太长,我深表歉意。另外,为了以防万一这会以某种方式干扰您可能给我的答案,我不会以通常的方式定义我的 Controller 。相反,我关注http://www.technofattie.c
我有一个模式,其中许多项目类型都是“可编辑的”。这意味着我有很多模板(每种可编辑项目类型一个),这些模板期望具有唯一的字段,但具有通用功能(编辑、保存、取消编辑、删除等)。这些常见功能导致 Contr
$evalAsync 和 $applyAsync 之间有什么区别?我的理解是,当我从指令中使用 $evalAsync 时,表达式将在浏览器呈现之前进行计算。 举个例子,如果我想滚动到页面上的特定位置但
我试图为一个 $scope 变量提供另一个 $scope 变量的值。有人能告诉我出了什么问题吗?查看简单的 plunker 了解详细信息: http://plnkr.co/edit/TlKnd2fM5
我有以下一段 Angular 代码 $scope.prepare = function(){ $scope.elems = [1,2,3]; }; $scope.action = functio
我正在关注 Angularjs 的官方教程,但我陷入了第 2 步。 这是一个片段,我不明白 $scope:scope 的含义, describe('PhoneListCtrl', function()
根据文档, Global: Component is shared among all users. Session: Separate instances of the component are
显示作用域变量,类似于 Angularjs 中的 ng-repeat 元素 这些是我的范围变量 $scope.published = true; $scope.count = 3; 我还有一个名为 l
我是 Angular 的新手,我想在普通的 javascript 中做一些非常简单的事情,但我无法找到如何在 Angular 中正确地做到这一点! 我想设置一个通用函数来清除输入文本字段: 我有这个
在article中发现了这样一个idea : Notice how the value function takes the scope as parameter (without the $ in
注释部分将位于 $scope.$on 下。我需要将 options 返回到我保存 $scope.$emit 的地方。请帮助!!! if (gridConfig.Batch) {
我有一个带有 2 个作用域的 Controller : app.controller('search', function($scope) { $scope.value1 = '';
我是一名优秀的程序员,十分优秀!