«knockout.js» 태그된 질문

Knockout.js는 MVVM (Model-View-View Model) 패턴을 사용하는 동적 HTML UI를위한 오픈 소스 JavaScript 라이브러리입니다.

9
Knockout.js에서 관찰 가능한 바인딩을 지우거나 제거하는 방법은 무엇입니까?
사용자가 여러 번 수행 할 수있는 기능을 웹 페이지에 구축하고 있습니다. 사용자의 액션을 통해 ko.applyBindings ()를 사용하여 객체 / 모델을 생성하고 HTML에 적용합니다. 데이터 바인딩 된 HTML은 jQuery 템플릿을 통해 생성됩니다. 여태까지는 그런대로 잘됐다. 두 번째 개체 / 모델을 만들고 ko.applyBindings ()를 호출하여이 단계를 반복하면 두 가지 문제가 발생합니다. 마크 …

4
관찰 가능한 배열에서 항목을 조건부로 푸시하는 방법은 무엇입니까?
나는 싶습니다 push에 새 항목 observableArray,하지만 항목이 이미 존재하지 않는 경우에만 가능합니다. KnockoutJS에서이를 달성하기위한 "찾기"기능이나 권장 패턴이 있습니까? 의 remove함수 observableArray가 조건을 전달하는 함수를받을 수 있음을 알았습니다 . 거의 동일한 기능을 원하지만 전달 된 조건이 참이거나 참이 아닌 경우에만 푸시합니다.
103 knockout.js 

4
ko.applyBindings를 호출 할 때“Cannot read property 'nodeType'of null”발생
이 녹아웃 코드가 있습니다. function Task(data) { this.title = ko.observable(data.title); this.isDone = ko.observable(data.isDone); } function TaskListViewModel() { // Data var self = this; self.tasks = ko.observableArray([]); self.newTaskText = ko.observable(); self.incompleteTasks = ko.computed(function() { return ko.utils.arrayFilter(self.tasks(), function(task) { return !task.isDone() }); }); // Operations self.addTask = function() { self.tasks.push(new Task({ title: …

4
객체 속성이 ko.observable인지 확인합니다.
내가 사용하고 KnockoutJS의 버전 2.0.0 객체의 모든 속성을 반복하는 경우 각 속성이 ko.observable? 지금까지 시도한 내용은 다음과 같습니다. var vm = { prop: ko.observable(''), arr: ko.observableArray([]), func: ko.computed(function(){ return this.prop + " computed"; }, vm) }; for (var key in vm) { console.log(key, vm[key].constructor === ko.observable, vm[key] instanceof ko.observable); } …

4
데이터 바인딩 된 뷰에서 If-Else 구조를 템플릿하는 방법은 무엇입니까?
KO 기반 HTML 템플릿에서이 관용구를 지속적으로 사용하고 있습니다. <!-- ko if: isEdit --> <td><input type="text" name="email" data-bind="value: email" /></td> <!-- /ko --> <!-- ko ifnot: isEdit --> <td data-bind="text: email"></td> <!-- /ko --> KO에서 조건을 수행하는 더 나은 / 깨끗한 방법이 있습니까, 아니면 전통적인 if-else 구조를 사용 하는 것보다 더 …

4
하나의 요소에 여러 데이터 바인딩 속성을 갖는 방법은 무엇입니까?
한 요소에 여러 데이터 바인딩이 필요합니다. 예를 들어, 내가 원하는 href뿐만 아니라 html데이터 바인딩에 하나 개의 a 태그입니다. 나는 이것을 시도했다, <a data-bind="html: name" data-bind="attr: { href: url }" data-bind="attr: { 'data-prop': xyz }"> </a> 그러나 이것은 작동하지 않습니다. 녹아웃은 하나의 data-bind 속성 바인딩 만 지원하는 것 같습니다 . 하나의 …

1
jquery-mobile 및 knockoutjs를 사용하여 웹앱을 아키텍처하는 방법
html / css와 자바 스크립트로 만든 모바일 앱을 만들고 싶습니다. JavaScript로 웹 앱을 빌드하는 방법에 대한 적절한 지식을 가지고 있지만 jquery-mobile과 같은 프레임 워크를 살펴볼 수 있다고 생각했습니다. 처음에는 jquery-mobile이 모바일 브라우저를 대상으로하는 위젯 프레임 워크에 불과하다고 생각했습니다. jquery-ui와 매우 유사하지만 모바일 세계에 적합합니다. 그러나 나는 jquery-mobile이 그 이상이라는 것을 …

10
녹아웃 바인딩으로 선택한 이벤트 변경, 실제 변경 사항인지 어떻게 알 수 있습니까?
권한 UI를 작성 중이며 각 권한 옆에 선택 목록이있는 권한 목록이 있습니다. 권한은 선택 목록에 바인딩 된 관찰 가능한 객체 배열로 표시됩니다. <div data-bind="foreach: permissions"> <div class="permission_row"> <span data-bind="text: name"></span> <select data-bind="value: level, event:{ change: $parent.permissionChanged}"> <option value="0"></option> <option value="1">R</option> <option value="2">RW</option> </select> </div> </div> 이제 문제는 이것입니다. UI가 처음으로 …

2
knockout.js에서 $ parent의 액세스 색인
knockout.js 2.1.0에서 foreach 바인딩을 사용하는 템플릿에서 $ index () 함수를 통해 현재 항목의 인덱스에 액세스 할 수 있습니다. 중첩 된 foreach 바인딩에서 템플릿에서 $ parent의 인덱스에 액세스 할 수있는 방법이 있습니까? 다음과 같은 데이터 구조가 있다고 가정합니다. var application = { topModel: [ { {subModel: [{'foo':'foo'}, { 'bar':'bar'}]}, // this …


12
Knockout.js는 준 대형 데이터 세트에서 엄청나게 느립니다.
이제 막 Knockout.js를 시작하고 있습니다 (항상 사용해보고 싶었지만 이제는 변명 할 수 있습니다!)-그러나 테이블을 상대적으로 작은 집합에 바인딩 할 때 정말 나쁜 성능 문제가 발생합니다. 데이터 (약 400 행 정도). 내 모델에는 다음 코드가 있습니다. this.projects = ko.observableArray( [] ); //Bind to empty array at startup this.loadData = function (data) …


8
Knockout JS의 라디오 버튼에 참 / 거짓 바인딩
내 뷰 모델에는 true 또는 false 값이있는 IsMale 값이 있습니다. 내 UI에서 다음 라디오 버튼에 바인딩하고 싶습니다. <label>Male <input type="radio" name="IsMale" value="true" data-bind="checked:IsMale"/> </label> <label>Female <input type="radio" name="IsMale" value="false" data-bind="checked:IsMale"/> </label> 내가 생각하는 문제는 checked"true"/ "false"문자열을 기대한다는 것입니다 . 제 질문은이 UI와 모델을 사용하여이 양방향 바인딩을 어떻게 얻을 수 있습니까?

1
knockout.js-DOM 요소에서 ViewModel 가져 오기
주어진 DOM 요소에서 바인딩 된 ViewModel JavaScript 개체를 가져올 수 있습니까? ko.applyBindings( gLoginViewModel, document.getElementById("login-form") ); ko.applyBindings( gLoginViewModel, document.getElementById("register-form") ); 그리고 다른 곳-다소 관련이없는 코드-다음과 같습니다. var viewModel = ko.getViewModel( formElement ); viewModel.someObservable( someData ); // observable available in all ViewModels 다음과 같이 할 수 있다면 더 좋을 것입니다. var viewModel …

2
$ index를 if 바인딩과 함께 사용하는 knockout.js
의 값을 기반으로 일부 마크 업을 표시하려고합니다. 값을 $index표시 할 수 있지만 if바인딩 과 함께 사용할 수없는 것 같습니다. 여기서 가장 좋은 방법은 무엇입니까? <!-- ko if: $index===0 --> <div>some mark up here</div> <!-- /ko -->

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.