1
Angular가로드 할 때와 선택 옵션을 변경할 때 범위 변수를 바인딩하지 않는 것 같습니다. 나는 선택 요소에서 현재 선택된 ID를 가지고 있고, 나는 옆에있는 이름을 표시하려면 :Angularjs는 범위 변수를 함수와 바인딩하지 않습니까?
<div ng-app>
<h2>Todo</h2>
<div ng-controller="TodoCtrl">
<select ng-model="myid" ng-options="c.id as c.name for c in cs"></select>
<span ng-bind="getName(myid)"></span>
</div>
</div>
function TodoCtrl($scope) {
$scope.myid = 1;
$scope.cs = [ {id:1, name:'one'},
{id: 2, name:'two'},
{id: 3, name: 'three'}];
$scope.getName = function(id) {
angular.forEach($scope.cs, function(c, index) {
if(c.id == id)
return c.name
});
return "NULL";
}
}
왜 범위 내 범위 변수로 업데이트하지 않는 이유는 무엇입니까? 처음로드 할 때와 선택 변경시 항상 null입니다.
와 함수로 교체 lookt에게이 바이올린
기본적으로http://jsfiddle.net/nwtjdffc/
을 당신의 getName 기능에있다 이름? 나는 내 이름 문자열로 getName()을 종료 할 것이라고 생각했다. – fanhats
foreach 콜백에서 이름 만 반환하는 함수에서 항상 NULL을 반환하지만 그 함수 결과는 현재 함수로 전파되지 않습니다. 여기 foreach를 사용할 수있는 방법이 있습니다. http://jsfiddle.net/mxvaqfs3 / –