Durandal 框架基础知识
Durandal framework basics
我正在通过几张幻灯片使用 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 () {
};
一个构造函数?
b。当我们向原型添加一个函数时,
Projects.prototype.activate = function (activationData) {
}
这是否也被视为构造函数并在函数加载时自动执行?
c。如果我们像这样定义函数的名称,就可以为构造函数限定一个函数吗?
var ProjectsSample100 = function () {
}
A) 不完全是。虽然创建了一个对象'Projects'。
B) 这不是构造函数。这会将一个函数分配给 Projects 对象原型上的 属性。特别是在 Durandal 中,当加载视图模型时,Durandal 将检查视图模型上是否存在 'activate' 函数。如果 none 存在,它使用默认函数,但在这种情况下,我们已经明确设置了激活行为。
在此处查看有关视图模型在 Durandal 中经历的阶段的更多信息:
http://durandaljs.com/documentation/Hooking-Lifecycle-Callbacks.html
C) 不。那只是一个被定义的对象。
典型的构造函数如下所示:
function person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
注意使用 'this' 将对象赋值给 'fields',并使用 'new' 通过此构造函数创建新实例。
我从这里偷了这个例子:http://www.w3schools.com/js/js_object_definition.asp
我正在通过几张幻灯片使用 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 () {
};
一个构造函数?
b。当我们向原型添加一个函数时,
Projects.prototype.activate = function (activationData) {
}
这是否也被视为构造函数并在函数加载时自动执行?
c。如果我们像这样定义函数的名称,就可以为构造函数限定一个函数吗?
var ProjectsSample100 = function () {
}
A) 不完全是。虽然创建了一个对象'Projects'。
B) 这不是构造函数。这会将一个函数分配给 Projects 对象原型上的 属性。特别是在 Durandal 中,当加载视图模型时,Durandal 将检查视图模型上是否存在 'activate' 函数。如果 none 存在,它使用默认函数,但在这种情况下,我们已经明确设置了激活行为。
在此处查看有关视图模型在 Durandal 中经历的阶段的更多信息: http://durandaljs.com/documentation/Hooking-Lifecycle-Callbacks.html
C) 不。那只是一个被定义的对象。
典型的构造函数如下所示:
function person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
注意使用 'this' 将对象赋值给 'fields',并使用 'new' 通过此构造函数创建新实例。
我从这里偷了这个例子:http://www.w3schools.com/js/js_object_definition.asp