道格拉斯·克罗克福德(Douglas Crockford)在ES6的“更好的部分”(The Better Parts)上做了非常好的演讲 除此之外,他鼓励摆脱原型inheritance,转而采用免class级的面向对象方式 。 在这里,他说他停止使用new , Object.create ,而this ,但没有真正解释一个替代scheme。 任何人都可以填写我可能看起来如何?
题 如何在父组件内创build子组件,然后使用Angular2将它们显示在视图中? 如何确保注射剂正确地注入到儿童组件中? 例 import {Component, View, bootstrap} from 'angular2/angular2'; import {ChildComponent} from './ChildComponent'; @Component({ selector: 'parent' }) @View({ template: ` <div> <h1>the children:</h1> <!– ??? three child views shall be inserted here ??? –> </div>`, directives: [ChildComponent] }) class ParentComponent { children: ChildComponent[]; constructor() { // when creating the children, their constructors // shall […]
所以Safari和Chrome已经开始在他们的beta版中实现一些ES5的东西。 例如Object.create就在其中。 你们有没有人知道是否有网站显示在浏览器中取得的进展? ATM我需要使用Object.freeze,并希望看看哪些浏览器(如果有)支持。
我正在考虑在Node.js中创build一个Web多人游戏。 这意味着我将在后端和前端使用相同的语言。 这将是实时的,每个“房间”最多有20个人,所以我有几个想法: 我如何弥补所有用户之间的延迟,以便每个人都能同时看到相同的东西? 我想跟踪每个玩家的平均ping时间,find最慢的一个,并且通知其他客户端时间(以毫秒为单位),他们必须被延迟每个玩家,以便每个人尽可能地同步。 我正在考虑在后端和前端运行游戏代码(因为它的两端都是JavaScript),并且只是有一个错误纠正机制来与后端的“真实游戏”同步。 这样游戏在前端应该能够顺利执行,并且在同步发生时只有很less的毛刺。 此外,这将使前端JavaScript黑客最小化,因为作弊者将被同步到后端游戏。 我是否应该通过套接字(按键)接收玩家动作,通知所有其他玩家的动作,同时在后台“玩”游戏,并且每隔一次向整个游戏状态的每个人发送同步信息同时他们? 你怎么看? 有更多的东西我应该考虑或注意? 请发表任何想法或链接到多人游戏文件或文章。 编辑:这些是有用的: Gaffer on Games – Glenn Fiedler在多人游戏networking和物理方面的很好的文章 Quake3networking模型
有一个简单的方法来附加一个单选button“取消”事件? 看起来只有当button被选中时,更改事件才会被触发。 HTML <input type="radio" id="one" name="a" /> <input type="radio" id="two" name="a" /> JavaScript的 $('#one').change(function() { if(this.checked) { // do something when selected } else { // THIS WILL NEVER HAPPEN // do something when deselected } }); 的jsfiddle
我正在处理使用Web Workers处理所有AJAX请求的代码(如果可用)。 这些工作者几乎没有什么比XMLHttpRequest对象处理(没有额外的计算)。 所有由worker创build的请求都是asynchronous的( request.open("get",url,true) )。 最近,我得到了关于这个代码的几个问题,我开始怀疑是否应该花时间修复这个问题,或者只是抛出整个解决scheme。 到目前为止,我的研究表明,这个代码实际上可能会损害性能。 但是,我无法find任何可信的来源支持这一点。 我唯一的两个发现是: 2岁的jQueryfunctionbuild议使用networking工作者进行AJAX调用 这个 SO问题似乎要求一些有点不同(在networking工作者与AJAX调用中使用同步请求) 有人能指点我一个可靠的来源讨论这个问题? 或者,有没有可能消除我疑惑的基准? [ 编辑 ]当WebWorker也负责parsing结果( JSON.parse )时,这个问题会变得更有趣。 asynchronous分析是否改善性能?
我明白,这个图像已经成为大多数(如果不是全部的话)Flux程序员的最终指导。 考虑到这一点,我有几个问题: 我的Web API Utils中是否有所有$.ajax调用是正确的/强烈build议? callback调用动作创build者,传递过程中的数据 如果我想让我的商店进行AJAX调用 ,我必须先调用Action Creator ,对吗? 直接从Store中调用Web API Utils中的函数从根本上说是不正确的? 有没有像从商店连接到动作创作者的虚拟单向箭头? 我有很多操作,没有通过意见 调度员和商店之间的callback是什么? 这里的Web API是什么? 这是你在哪里应用RESTful API? 有没有这个地方的例子? 在我的一个动作创作者中有一个涉及的逻辑(知道发送哪个动作 )可以吗? 基本上,这个动作接收来自我的AJAX调用的响应。 这是一个片段: var TransportActions = { receiveProxyMessage: function (message, status, xhr) { switch (message) { case ProxyResponses.AUTHORIZED: AppDispatcher.dispatch({ type: ActionTypes.LOGIN_SUCCESS, reply: m }); break; case ProxyResponses.UNAUTHORIZED: AppDispatcher.dispatch({ type: ActionTypes.LOGIN_FAIL, reply: m }); […]
我有一个有趣的情况 – 我有一个表格行,当我点击“展开”button时,显示它是隐藏的对应表格。 包含展开button的原始(未隐藏)行也在某个单元格中具有某些内容,点击后该单元格可以编辑。 我想摆脱扩大button,并通过双击行本身的任何地方,包括单击它时可以编辑的字段,启用行的扩展。 你已经可以闻到麻烦了。 当我双击一行时,在发生dblclick之前,首先触发两个点击事件。 这意味着如果我双击该字段,它将变成一个可编辑的,并且该行将展开。 我想阻止这一点。 我想要doubleclick来防止单击发射,并单击执行照常。 使用event.stopPropagation()显然是行不通的,因为它们是两个不同的事件。 有任何想法吗? 编辑(一些半伪代码): 原始版本: <table> <tbody> <tr> <td><a href="javascript:$('#row_to_expand').toggle();" title="Expand the hidden row">Expand Row</a></td> <td>Some kind of random data</td> <td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[0]->value("First editable value") ?></td> <td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[1]->value("Second editable value") ?></td> <td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[2]->value("Third editable value") ?></td> <!– … –> <td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[n]->value("Nth editable value") ?></td> </tr> <tr style="display: […]
我正在从依靠jQuery过渡到在AngularJS中构build应用程序。 在许多地方build议不要混用jQuery和Angular代码。 我想念的一件事是数组的jQuery $ .map函数。 我知道这可以重新编写使用本地JavaScript 映射函数 ,但是这并不是在所有的浏览器(特别是,IE <V9)中实现。 那么,是否有一个angular的等价物,或者我应该回到写作for (var x = 0; x < foo; x += 1) {…}所以我可以停止包括jQuery? 更新有时候知道要search什么是你所需要的。 贝吉说,“寻找polyfills”。 这里有一个参考指南(来自Modernizr工作人员)的一些资源,用于在旧版浏览器上编写现代代码: HTML5跨浏览器Polyfills
当我直接在Chrome控制台中评估expression式时,就像 1 + 1 那么我可以参考使用的评估值 $_ 不过,如果值是来自应用程序内部的console.log,而不是直接input到控制台的expression式,则无法使用$ _访问该值。 有没有办法访问上次评估的expression式,无论它来自哪里?