小编sea*_*tar的帖子

如何从内部获取Mootools类的名称

我想得到类的变量名.

var Poop = new Class({ 
    getClassName: function() { 
        return arguments.callee._owner.name;
    } 
});
var a = new Poop();
a.getClassName(); //want 'Poop'
Run Code Online (Sandbox Code Playgroud)

我正在将其实现到其他类中,并且我想构建一个使用表名的类名(复数)的SQL查询.

我尝试了上面例子的各种组合来试图获得名称,并且无法弄明白(如果它甚至可以考虑MooTools类系统).

javascript mootools

5
推荐指数
1
解决办法
2930
查看次数

在单页应用上管理JavaScript的最佳实践

使用单页面应用程序,我更改哈希值并加载并仅更改页面内容,我正在尝试决定如何管理每个"页面"可能需要的JavaScript.

我已经有一个历史模块监视可能看起来的位置哈希domain.com/#/company/about,以及一个将使用XHR获取内容并将其插入内容区域的Page类.

function onHashChange(hash) {
    var skipCache = false;
    if(hash in noCacheList) {
        skipCache = true;
    } 
    new Page(hash, skipCache).insert();
}


// Page.js
var _pageCache = {};
function Page(url, skipCache) {

    if(!skipCache && (url in _pageCache)) {
        return _pageCache[url];
    }
    this.url = url;
    this.load();

}
Run Code Online (Sandbox Code Playgroud)

缓存应该允许已加载的页面跳过XHR.我还将内容存储到documentFragment中,然后在插入新内容时将当前内容从文档中拉出来Page,因此浏览器只需要为片段构建一次DOM.

如果页面具有时间敏感数据,则可能需要跳过高速缓存.

以下是我需要帮助决定的内容:加载的任何页面很可能都有一些自己的JavaScript来控制页面.就像页面将使用Tabs一样,需要幻灯片放映,有某种动画,有ajax形式,或者有什么.

将JavaScript加载到页面的最佳方法是什么?在我从XHR返回的documentFragment中包含脚本标记?如果我需要跳过缓存并重新下载片段,该怎么办?我觉得第二次调用的完全相同的JavaScript可能会导致冲突,比如重新声明相同的变量.

更好的方法是在抓取新脚本时将脚本附加到头部Page?这将要求原始页面知道每个其他页面可能需要的所有资产.

除了知道包含所有内容的最佳方法之外,我不需要担心内存管理,以及将这么多不同的JavaScript位加载到单个页面实例中的可能泄漏吗?

javascript ajax singlepage

5
推荐指数
1
解决办法
2258
查看次数

将字典中的值复制到Python中的对象中

我有一个字典,我想迭代并将键值对复制到Python中的对象.字典是POST,对象是模型(在Django中,也许Django有更好的方法可以做到这一点).

在PHP中,我可以使用变量赋值:

foreach($post as $key => $value) {
    $my_model->$key = $value;
}
Run Code Online (Sandbox Code Playgroud)

在Javascript中,我可以使用数组赋值来处理对象:

for(var key in post) {
    my_model[key] = post[key];
}
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法在Python中这样做.我见过的唯一方法是使用objects __dict__属性,它感觉有点脏.此外,它可以提高KeyErrors.

python django

0
推荐指数
1
解决办法
357
查看次数

标签 统计

javascript ×2

ajax ×1

django ×1

mootools ×1

python ×1

singlepage ×1