나는 녹아웃의 초기 버전에서 응용 프로그램을 구축하고 코드처럼 보였다 :knockoutjs는 오브젝트 클론이거나 동일한 것을 참조합니까?
this.activeProducts.remove(function(item) { //some code })
I가 activeProducts를 재설정 할 수 있었다
: 나는 같은 activeProduct 배열에서 항목을 필터링 경우
var ProductCollection = function(products, metadata) {
var self = this;
this.allProducts = products;
this.activeProducts = ko.observableArray(products);
모든 제품은 다음과 같이 처리합니다.
this.activeProducts(this.allProducts);
하지만 이제는 제거 제품 위에있는 제거 기능을 수행하는 것처럼 보입니다. allProducts 또한 ... 내가 통과하고 동일한 참조 또는 다른 것과 연결되는 제품입니까? 나는 왜 이것이 지금 일어 났는지, 전에는 일어나지 않을 것입니다. 나는 이것을 유지할 수 있기를 바랄뿐입니다. 활성 제품과 this.allProducts는 별도의 배열로 있습니다.
'products'는 두 경우 모두 동일한 배열입니다. 'activeProducts'가 배열의 복사본이되도록 ('products.slice (0)'이 빠른 방법입니다.) 또는'computed' observable을 사용하여 필터링 된 제품 버전을 나타낼 수 있습니다. –