Backbone Collection

什么是Collection?

在Backbone中,Collection其实就是模型的集合,它把模型按照一定的规则组织在一起. 比如下面的例子:

  • Model: Student, Collection: ClassStudents

  • Model: Todo Item, Collection: Todo List

  • Model: Animals, Collection: Zoo

通常一个Collection只对应一个模型的集合, 但是一个模型却可以属于多个Collection:

  • Model: Student, Collection: Gym Class

  • Model: Student, Collection: Art Class

  • Model: Student, Collection: English Class

这里有一个简单的例子:

var Song = Backbone ...

阅读全文

Backbone Router

什么是路由?

Backbone中的路由(Router)是用来组织你网络应用的URL的.定义Router时,应至少包含一个route和一个它对应的方法.下面的例子中的route将会每次都调用.

<script>
    var AppRouter = Backbone.Router.extend({
        routes: {
            "*actions": "defaultRoute" // matches http://example.com/#anything-here
        },
        defaultRoute: function( actions ){
            // The variable passed in matches the variable in the route definition "actions"
            alert( actions ); 
        }
    });
    // Initiate the ...

阅读全文

Backbone视图

Backbone简介我们简单介绍了Backbone,本篇我们主要说说Backbone中的视图(view).

什么是视图:

Backbone中的视图(view)主要是用来描述你的应用程序数据的.它们通常用来监听事件响应.本篇主要介绍模型以及模型集合如何绑定到对应的视图,并简单介绍一下用于javascript的模板(Underscore.js). 下面看看这个用于搜索的视图是如何操作的:

SearchView = Backbone.View.extend({
    // initialize会在每次视图创建时自动调用.
    initialize: function(){
        alert("Alerts suck.");
    }
});
var search_view = new SearchView;
"el"属性:

这里的"el"引用的是页面中DOM对象.每个视图(view)都要有一个"el"属性,如果你未指定 ...

阅读全文

Backbone简介

当我们开发含有大量Javascript的web应用程序时,首先你需要做的事情之一便是停止向DOM对象附加数据。 通过复杂多变的jQuery选择符和回调函数创建Javascript应用程序,包括在HTML UI,Javascript逻辑和数据之间保持同步,都不复杂。 但对富客户端应用来说,良好的架构通常是有很多益处的。

Backbone将数据呈现为 模型, 你可以创建模型、对模型进行验证和销毁,甚至将它保存到服务器。 当UI的变化引起模型属性改变时,模型会触发"change"事件; 所有显示模型数据的 视图 会接收到该事件的通知,继而视图重新渲染。 你无需查找DOM来搜索指定id的元素去手动更新HTML。 — 当模型改变了,视图便会自动变化。

首先来看看模型:

模型是所有 Javascript 应用程序的核心,包括交互数据及相关的大量逻辑:转换,验证,计算属性和访问控制.你可以用特定的方法扩展 Backbone.Model,模型 也提供了一组基本的管理变化的功能.

Person ...

阅读全文

ubuntu下禁用独立显卡

趁着Ubuntu12.04发布,在自己笔记本上安装了它,但是默认情况下我的独立显卡还是开启状态,导致开机时间一长就会发烫,热量大得惊人! 所以在网上找了找怎么禁用独立显卡,现在把它记录一下!

首先打开终端,输入如下命令:

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

看看你的显卡是不是双开状态,我的状态是这样的:

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

Pwr表示打开状态, Off表示关闭状态, 上面所示是我关闭了独立显卡后的状态. 下面进入正题,如何关闭独立显卡 ...

阅读全文

一个简单的markdown编辑器

最近一段时间看了下markdown的语法,结合python-markdown对markdown文档的解析,很容易得在自己的博客上用上了这个markdown语法的内容编辑器.为了方便其他人使用,我把它放到了simple-markdown-editor上面分享出来,同时也希望有兴趣的朋友能持续改进它!

另外,由于本博客系统是基于DjangoZinnia博客系统,所以在此再附带说说如何在Django中使用这个简单的markdown编辑器.

首先,你需要在你的项目中创建一个widget,类似以下代码(这段代码是本博客使用的widget):

class MarkdownEditor(forms.Textarea):
    def __init__(self, attrs=None):
        # The 'rows' and 'cols' attributes are required for ...

阅读全文

关于Django的代码分享应用

一直想做个关于代码分享的社交应用,却苦于自己对javascript一窍不通,所以最近一段时间学习了一下jQuery和javascript,结合ACE编辑器,总算出来个雏形了.

但是还有几大功能没有实现,包括以下几个方面:

  • 动态更新;
  • 翻译工作;
  • 类似于Google和Facebook的+1或"赞"功能;
  • 圈子功能也有待完善;
  • 页面也需要改善(目前虽然能用,但布局不是很合理); 我暂时把代码分享在了Github上了,有兴趣的朋友不妨看看,并能提出宝贵意见,谢谢大家!

注意:本博客基于Zinnia并加入bootstrap以及markdown

#这是注释
import os
class A(object):
    def __init__(self ...

阅读全文