Конструкторы не имеют типа возврата. Так что не
// this is a "pseudo"-constructor
public void TransferService(){
, а скорее
// this is the real deal
public TransferService(){
Относительно
Транзакция является абстрактной и не может быть инстанцирована
blockquote>Ну, так? Является ли класс Transaction абстрактным классом или интерфейсом? И только тот, у кого есть код, знает ответ на этот вопрос. Если это так, тогда вам нужно будет использовать конкретную реализацию транзакции в вашем коде.
Проблема здесь в том, что вы делитесь массивом, поддерживающим модели между компонентами, а затем манипулируете массивом (о чем знает Эмбер). Если вы перестали делиться массивом (скопировав ссылки во второй массив):
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return [{name: "Frank", age: 22}, {name: "Alan", age: 43}, {name: "Bob", age: 56}]
},
setupController(controller, model){
controller.set('model', model);
controller.set('tableModel', model.slice(0));
}
});
И измените ваш application.hbs
, например:
{{my-component model=tableModel}}
{{second-component model=model}}
, вы увидите только изменение в порядке произойдет с компонентом таблицы. Поскольку оба массива указывают на одни и те же ссылки, ваши модели сами привязаны к обоим массивам (т. Е. Изменение свойств модели, таких как age
, влияет как на model
, так и на tableModel
), поскольку они фактически указывают на один и тот же фрагмент памяти. Но сортировка будет влиять только на tableModel
, так как теперь вы выделили два массива
Я расширил вашу суть своей собственной копией , в которой я манипулирую ссылочной моделью в [117 ], и это повлияло как на models
, так и на tableModels
, поскольку базовые элементы в массиве являются одинаковыми ссылками.