Перезаписать функцию прототипа при выборе библиотеки дат - PullRequest
0 голосов
/ 30 апреля 2018

Я хочу изменить стандартное поведение функции DatePicker.prototype.nodes.createYearLabel() в picker.date.js .

  1. Как это можно сделать, не касаясь оригинального picker.date.js файл?
  2. Как должен выглядеть мой файл перезаписи? Нужно ли мне импортировать picker.date.js как-нибудь?

Большое спасибо.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете просто перезаписать функцию в любом месте своего кода:

DatePicker.prototype.nodes.createYearLabel = function() {
     // code..
}

Однако, будьте осторожны, что при изменении DatePicker.prototype будут изменены все созданные экземпляры DatePicker, даже те, которые были созданы до изменения . Имейте это в виду:

function A() {}
A.prototype.show = function(text) { console.log(text); };

var a = new A();
a.show("asdf");    // asdf

A.prototype.show = function(text) { console.log(text + "1234"); };
a.show("asdf");    // asdf1234

Если вы хотите использовать свою перезаписанную функцию во всем приложении и не требовать функции по умолчанию, вы можете просто поместить ее в «вершину» вашего кода, что означает перед любым вашим кодом выполняется, но после библиотека загружена.

Надеюсь, это поможет!

...