나는이 주제에 대해 비슷한 질문을 많이하지만, 나는이 문제를 혼자서 해결하려고 노력했기 때문에 나는 그것을 할 수 없었고, 이미 일주일이 지났음을 알고있다.녹아웃과 함께 목록 필터링
내가하려는 것은 텍스트 상자로 목록을 필터링하는 것입니다. 아래 코드 :
HTML :
<!DOCTYPE html>
<html>
<head>
<title>Magic Towns</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/styles.css">
<style>
html,
body {
font-family: Arial, sans-serif;
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<div class="menuContainer">
<span class="center" style="font-size:30px;cursor:pointer" onclick="openNav()">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#"><h1>Locations:</h1></a>
<form role="search">
<input type="text" data-bind="value: query, valueUpdate: 'keyup'" placeholder="Search...">
</form>
<div data-bind='with currentPlace' >
<div data-bind='foreach: placeList'>
<p href="#" class="whiteFont" data-bind='text: city, click: closeNav'></p>
</div>
</div>
</div>
</div>
<script src='js/sidebar.js'></script>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/knockout-3.4.2.js"></script>
<script src="js/data.js"></script>
<script src="js/app3.js"></script>
</body>
</html>
자바 스크립트 :
var Place = function(data) {
this.city = ko.observable(data.city);
this.lat = ko.observable(data.lat);
this.lng = ko.observable(data.lng);
};
var ViewModel = function() {
var self = this;
self.placeList = ko.observableArray([]);
self.query = ko.observable(''),
initialPlaces.forEach(function(placeLocation) {
self.placeList.push(new Place(placeLocation));
});
self.currentPlace = ko.observable(this.placeList()[0]);
};
ko.applyBindings(ViewModel);
데이터 :
var initialPlaces = [
{"city":"R","lat":22,"lng":-102},
{"city":"T","lat":23,"lng":-110},
{"city":"P","lat":18,"lng":-92},
{"city":"F","lat":25,"lng":-102},
];
이미이 Link1Link2 다른 사람만을 연결 시도 ... I Javascript와 녹아웃에 멍청한 녀석 (그것에 2 주 이상).
모든 예제를 시도 할 때마다 내 목록이 비어서 아무 것도 표시되지 않습니다.
이 문제를 해결하는 방법에 대한 정보는 어디에서 찾을 수 있습니까? 아니면 모든 의견을 부탁드립니다.
감사합니다.
adiga 당신은 남자입니다! 당신은 나에게 녹아웃을위한 좋은 튜토리얼을 참조 해 주시겠습니까? –
@AlbertoRocha 비디오 튜토리얼을 모르지만 youtube에서 검색 할 수 있습니다. 녹아웃의 [문서] (http://knockoutjs.com/documentation/introduction.html)은 매우 간단하고 이해하기 쉽습니다. 왼쪽에서 바인딩 목록을 볼 수 있습니다. 하나씩 차례로 살펴볼 수 있습니다. Jsfiddle/Stack Overflow를 검색하여 몇 가지 사항이 명확하지 않은 경우 예제를 검색 할 수도 있습니다. 예를 들어 Google에서 'knockout foreach binding site : jsfiddle.net'을 검색하면 수백 가지의 피들 첩이 발생합니다 (stackoverflow.com으로 사이트를 교체하는 경우와 동일). – adiga
@AlbertoRocha http://www.knockmeout.net/은 간단하고 고급스러운 주제를 다루는 매우 좋은 블로그입니다. [다음은 유용한 바이올린 목록입니다.] (http://www.knockmeout.net/2011/08/all-of-knockoutjscom-live-samples-in.html) 블로그에서 – adiga