我想知道什么时候ECMAScript 6来了,我们还需要在js代码中加入"use strict"吗?
我在这里的代码示例中提出了我的问题:
http://jsbin.com/urukil/12/edit
你看,我可以使用{{action}}(这是摆在子视图)与target选项来触发一个事件ApplicationView或ApplicationController或者ChildView,只除了ChildController这是一个我真的想.
根据文件,如果没有target指定,事件本身应该在相应的控制器中处理,在我的情况下,应该是ChildController.但为什么这个动作总是在查找ApplicationController?我错过了一些显然很重要的东西
我使用Nginx来提供SPA(单页应用程序),为了支持HTML5 History API我必须重写所有更深层次的路由/index.html,所以我按照这篇文章进行操作!这就是我现在放在nginx.conf中的内容:
server {
listen 80 default;
server_name my.domain.com;
root /path/to/app/root;
rewrite ^(.+)$ /index.html last;
}
Run Code Online (Sandbox Code Playgroud)
但是有一个问题,我/assets在根目录下有一个包含所有css,js,图片,字体的东西,我不想重写这些网址,我只是想忽略这些资产,我该怎么办呢?
参考Rookie的错误#4:在Nolan Lawson的文章中使用"deferred":我们在承诺方面存在问题(顺便说一下这篇文章!),我尽量不再使用延迟风格的承诺.最近我遇到了一个实际的例子,我无法弄清楚如何以延迟的方式编码,所以我需要一些建议.
这是一个角度工厂的例子:
function ConfirmModal($q, $modal) {
return {
showModal: function _showModal(options) {
var _modal = $modal(options)
var deferred = $q.defer()
_modalScope.confirm = function(result) {
deferred.resolve(result)
_modal.hide()
}
_modalScope.cancel = function(reason) {
deferred.reject(reason)
_modal.hide()
}
return deferred.promise
}
}
}
Run Code Online (Sandbox Code Playgroud)
我隐藏了一些不相关的细节(例如实现_modalScope),核心思想是:$modal提供一个包含两个按钮的ui小部件:确认和取消.当确认是被点击,调用_modalScope.confirm和解决延期的承诺,否则通过调用拒绝延期的承诺_modalScope.cancel时,取消是被点击.
我试图通过使用重写return $q(function(resolve, reject) { ... }),但我真的不知道如何/何时调用resolve和reject在这个构造函数中,因为真正的逻辑在_modalScope.confirm/cancel方法中.几天我一直在努力解决这个问题,真的希望有人可以帮助我.
谢谢!
这个问题来自Ember.js主页的组件示例,这里是代码:
App.GravatarImageComponent = Ember.Component.extend({
size: 200,
email: '',
gravatarUrl: function() {
var email = this.get('email'),
size = this.get('size');
return 'http://www.gravatar.com/avatar/' + hex_md5(email) + '?s=' + size;
}.property('email', 'size')
});
Run Code Online (Sandbox Code Playgroud)
当我尝试这个例子时,我注意到每次输入一个字符时,浏览器都会触发一个获取头像的请求.如果我的电子邮件地址有30个字符,则会有30次请求被触发,直到从服务器返回正确的请求.我觉得这样效率太低了,不是吗?
在挖掘出指南之后,我没有找到解决这个问题的方法,所以我想知道:这是否有可能延迟重新计算一个计算属性,比如1000ms?还是有更好的方法来处理这种情况?