2013-10-28 5 views
4

입력 목록을 프로그래밍 방식으로 채우려고합니다.AngularJS - ngModel을 속성에 저장된 객체에 바인딩

나는 http://jsfiddle.net/VSph2/52/ 내보기를 시작할 때 문자열이 복사 @

<div ng-repeat="field in fields"> 
<input ng-model="field.Binding" /> 
</div> 

var Query = { 
    Keywords: "Foo", 
    Title: "Bar" 
} 

var Fields = [{ 
    Name: "Keywords", 
    Binding: Query.Keywords 
}, { 
    Name: "Title", 
    Binding: Query.Title 
}]; 

var myApp = angular.module('myApp', []); 

function MyCtrl($scope) { 
    $scope.fields = Fields; 
    $scope.query = Query; 
} 

비 작업 바이올린 같은 것을 가지고 있지만 두 값은 서로를 업데이트하지 않습니다.

Basicallyk "Query.Keywords"와 같은 참조 또는 이름으로 지정된 개체에 바인딩하고이 범위를 런타임에 평가해야합니다.하지만 운이별로 없습니다.

바이올린에서 볼 수 있듯이 내 값이 동기화 상태를 유지하지 못합니다.

답변

3

감사 잭을. 그런 다음 [Field.Binding] 데이터에 바인딩 할 수 있습니다이 그냥 작동

: 당신이 바인딩 예를 들어

필드의 문자열 값을 사용하는 경우, { "푸"바인딩} 여하튼

벌금. 내 첫 번째 예제는 문자열 값에 바인딩 되었기 때문에 작동하지 않았습니다. 내 데이터의 속성 자체가 아닙니다.

근무 바이올린 http://jsfiddle.net/VSph2/57/

function cQuery() { 
    this.Keywords= "Foo"; 
    this.Title = "Bar"; 
} 
var Query = new cQuery(); 
var Fields = [{ 
    Name: "Keyword Search", 
    Binding: "Keywords" 
}, { 
    Name: "Title Search", 
    Binding: "Title" 
}]; 


var myApp = angular.module('myApp', []); 

function MyCtrl($scope) { 
    $scope.blah = Object.keys(Query); 
    $scope.fields = Fields; 
    $scope.query = Query; 
} 

<div ng-controller="MyCtrl"> 
    <div ng-repeat="field in fields">{{field.Name}} 
     <input type="text" ng-model="query[field.Binding]" type="text" class="form-control" id="{{field.Id}}" /> {{field.Binding}} 
    </div>Elsewhere... 
    <input ng-model="query.Keywords" type="text"/> {{query.Keywords}} 
</div> 
+0

'''ng-model = "query [field.Binding]"'''부분은 내가 찾고있는 부분과 정확히 일치합니다. 감사! – mvndaai

+1

나는이 단순한'query [field.Binding]'구문이 아니라 생각할 수있는 모든 것을 시도했다. 이렇게 많은 시간을 절약 해 주셔서 감사합니다! – Duc

1

데이터를 보는 방식을 편집했습니다. 잘하면이 도움이됩니다. 올바른 방향으로 날 조종을위한

http://jsfiddle.net/VSph2/42/

Removed query, attached input directly to fields. 
+0

@ 내 바이올린을 업데이트했습니다. 쿼리는 더 큰 프로젝트에 존재하며 기본적으로 단일 매개 변수를 액세스합니다. – Yablargo

+1

Ok. Query 개체를 업데이트해야합니까? 또는 fields 객체를 업데이트 할 수 있습니까? –

+0

쿼리 개체를 업데이트해야합니다. "ng-repeat"루프에서 구성 가능한 쿼리 매개 변수를 100 개 정도 생성하는 "필드"를 사용하고 있습니다. – Yablargo

관련 문제