Durandal框架基础知识

时间:2016-01-01 07:09:27

标签: javascript javascript-events durandal

我正在使用Durandal和其他javascript库开发SPA的几张幻灯片。

我有几个问题:

define('projects', [],
    function() {


        var Projects = function () {
            this.myDataLocal = ko.observable(); 
            this.myDataFromServices = null;
        };

        Projects.prototype.activate = function (activationData) {
            this.myDataFromServices = activationData
            this.myDataLocal(activationData());
        };
     Projects.prototype.detached = function () {
            this.myDataFromServices(this.myDataLocal());  
        };

        return Projects; 
    }
  );

一个。在上面的代码是

var Projects = function () {

        };

构造函数?

湾当我们向原型添加函数时,

Projects.prototype.activate = function (activationData) {
}

这也会被视为构造函数并在函数加载时自动执行吗?

℃。如果我们要定义像这样的名称,那么要为构造函数限定函数就足够了吗?

var ProjectsSample100 = function () {

}

1 个答案:

答案 0 :(得分:1)

A)不完全没有。虽然一个对象' Projects'被建造。

B)这不是构造函数。这会将一个函数分配给Projects对象原型上的属性。特别是在Durandal中,当加载视图模型时,Durandal将检查是否存在“激活”模式。 viewmodel上的函数。如果不存在,则使用默认函数,但在这种情况下,我们已明确设置激活行为。

在此处查看视图模型在Durandal中经历的更多阶段: http://durandaljs.com/documentation/Hooking-Lifecycle-Callbacks.html

C)否。这只是一个定义的对象。

典型的构造函数如下所示:

GROUP BY

请注意使用'这个'分配到'字段'关于对象,以及使用' new'使用此构造函数创建新实例。

我从这里偷了这个例子:http://www.w3schools.com/js/js_object_definition.asp