Проблема здесь в том, что вы делитесь массивом, поддерживающим модели между компонентами, а затем манипулируете массивом (о чем знает Эмбер). Если вы перестали делиться массивом (скопировав ссылки во второй массив):
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
, поскольку базовые элементы в массиве являются одинаковыми ссылками.
Следующее отправляет стандартный вывод на пустое устройство (битоприемник).
scriptname >/dev/null
и если Вы также хотите, чтобы сообщения об ошибках были отправлены туда, используйте один из (первое не может работать во всех оболочках):
scriptname &>/dev/null
scriptname >/dev/null 2>&1
scriptname >/dev/null 2>/dev/null
и, если Вы хотите записать сообщения, но не видеть их, замена /dev/null
с фактическим файлом, таким как:
scriptname &>scriptname.out
Для полноты, в соответствии с Windows cmd.exe (где "nul" является эквивалентом "/dev/null"), это:
scriptname >nul 2>nul
Что-то как
script > /dev/null 2>&1
Это предотвратит стандартный вывод и вывод ошибок, перенаправляя их обоих к /dev/null
.
Как andynormancx сообщение используют это: (если Вы работаете в среде Unix)
scriptname > /dev/null
, или можно использовать это: (если Вы работаете в среде Windows)
scriptname > nul