Вопрос, наследовавшийся Списку (T) класс

Рекомендуется вызывать nuxt.render в конце вашего промежуточного программного обеспечения, поскольку он будет обрабатывать рендеринг вашего веб-приложения и не будет вызывать next() - https://nuxtjs.org/api. / nuxt-render /

blockquote>

Сначала вызовите next () в «Публичной части».

Во-вторых, добавьте нижнее промежуточное ПО ниже.

app.get('*', (req, res, next) => {
  var firstIndex = req.get('host').indexOf('.');
  var subdomain = req.get('host').substr(0, firstIndex).toLowerCase();
  if (subdomain === '') {
    // Public part, call next() to use the nuxt middleware!
    next();
  } else if (subdomain.indexOf('admin') !== -1) {
    // Admin part
    res.sendFile(path.join(__dirname, '../admin/js', 'index.html'));
  } else {
    // Static files
    res.sendFile(path.join(__dirname, '../', req.url));
  }
});

// The nuxt middleware
app.use(nuxt.render);

Еще один пример, который также работает.

// If Public part, response Nuxt server render app.
app.use((req, res, next) => {
  var subdomain = req.get('host').substr(0, firstIndex).toLowerCase();
  if (subdomain === '') {
    // Public part, call nuxt.render middleware
    nuxt.render(req, res, next);
  } else {
    next();
  }
});

// admin / static files
app.get('*', (req, res, next) => {
  var firstIndex = req.get('host').indexOf('.');
  var subdomain = req.get('host').substr(0, firstIndex).toLowerCase();
  if (subdomain.indexOf('admin') !== -1) {
    // Admin part
    res.sendFile(path.join(__dirname, '../admin/js', 'index.html'));
  } else {
    // Static files
    res.sendFile(path.join(__dirname, '../', req.url));
  }
});

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

5
задан Adam Robinson 27 April 2009 в 18:30
поделиться

2 ответа

Ваша проблема в том, что вы оба наследуют от List (of T) , и у вас есть свойство экземпляра этого типа, в котором вы храните свои данные. Когда в приведенном выше коде вызывается Count , он использует свойство Count из родительского списка List (of T) , который не хранится там, где вы храните. ваши данные.

Лучше было бы, чтобы вы унаследовали от объекта и имели PriorityQueue (из T) реализуют ICollection и IEnumerable ( Т) явно. Вам вообще не нужно менять свою внутреннюю реализацию, вы

7
ответ дан 13 December 2019 в 05:42
поделиться

Вы добавляете свои элементы в экземпляр закрытого списка (_list.Insert / _list.Add), а не в базовый список (Me.Insert / Me.Add)

На самом деле, я думаю используя личный список, как вы делаете, и добавление свойства Count является лучшим дизайном, чем наследование от List.

Как указывает Адам Робинсон, вы можете рассмотреть возможность реализации некоторых или всех IEnumerable , ICollection , ICollection, IEnumerable, если вы хотите, чтобы пользователи вашего класса могли, например, перебирать элементы в очереди.

Это не является строго необходимым, если ваши абоненты используют его только как очередь (вызов Enqueue или Dequeue).

Стандартный класс очереди Queue реализует IEnumerable , ICollection и IEnumerable, реализуя, по крайней мере, это было бы хорошо для согласованности.

5
ответ дан 13 December 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: