Я новичок в нокауте. Я хотел бы знать различия между этими тремя, и какой из них лучше всего в соответствии с последними рамками.Объявления нокаута
Подход 1 (InvoiceTypes): Объявление всех переменных и методов с использованием запятой и, наконец, использование оператора return для раскрытия методов открытого интерфейса.
Подход 2 (OrderTypes): Он похож на подход 1, но используется точка с запятой, чтобы различать каждую переменную или метод.
Apprach 3 (ModelTypes): Он похож на подход 2, но без оператора возврата.
Окончательно заданный способ запуска метода start в каждом подходе в jquery read.
подход 1
window.Domain = window.Domain || {}
window.Domain.InvoiceTypes = function() {
var types = ko.observableArray(),
getTypes = function() { return types; },
start = function() {
types.push({name:"knockout"});
},
submit = function() {
alert("submit");
};
return {
getTypes: getTypes,
start: start,
submit: submit
};
}();
подход 2
window.Domain.OrderTypes = function() {
var types = ko.observableArray();
var getTypes = function() { return types; };
var start = function() {
types.push({name:"knockout"});
};
var submit = function() {
alert("submit");
};
return {
getTypes: getTypes,
start: start,
submit: submit
};
}();
подход 3
window.Domain.ModelTypes = function() {
var self = this;
self.types = ko.observableArray();
self.getTypes = function() { return types; };
self.start = function() {
types.push({name:"knockout"});
};
self.submit = function() {
alert("submit");
};
};
<script type="text/javascript">
$(document).ready(function() {
window.Domain.InvoiceTypes.start();
window.Domain.OrderTypes.start();
var obj = new window.Domain.ModelTypes();
obj.start();
});
</script>
Разница, которую я могу ясно видеть, - это объявление единственного var & return statement и использование self по этому ключевому слову.
Просьба представить ваши данные.
Спасибо за ваши разъяснения. Ошибки - это моя опечатка. – user1837788