2013-07-18 5 views
3

개체를 반환하는 함수가있는 경우. 예.템플릿의 여러 위치에서 함수의 반환 값 사용

$scope.getPoint = function() 
{ 
    //some calculation logic goes here 
    return {x:1,y:2}; 
} 

는 그리고 템플릿에서의 속성을 표시하려면 :

<b>som html</b> x: {{getPoint().x}} y:{{getPoint().y}} 

함수를 두 번 호출 될 것입니다 그. (나는 알고있다, 각도는 어쨌든 거대한 시간이라고 부를 것이다)

템플릿에서 동일한 반환 값을 재사용 할 수있는 방법이 있습니까?

+0

을만큼 HTTP 아약스 요청이 참여하지 않는 한, 당신은 왜 상관이야? 어쨌든 +1하십시오. – gdoron

+1

페이지에 바인딩하기 전에 함수를 실행하여 모델의 변수에 결과를 설정 했습니까? PS- 각도를 사용하지 않기 때문에 기본이 아닐 수도 있습니다 –

답변

1

뭔가 :

<b>som html</b> <span ng-repeat="(key, value) in getPoint()">{{key}}: {{value}}</span> 

적어도 docs에 따라 작동합니다.

편집 : 그것은 않는 사실 : Plunk

0

값이 변경되지 않는 한 자체 호출 기능을 사용하지 않는 것이 어떻습니까? 같은

$scope.myVar = (function() { 
    return { x: 1, y: 2 }; 
}()); 
+0

"계산 논리가 여기에 있습니다" –

+0

그렇습니다! 부스. – Benmj

+0

나는 질문이 될 것 같아요, 변수가 계산에 따라 달라질까요? 현재 코드는 다른 변수를 보지 않습니다. 질문은 템플릿의 여러 지점에서 렌더링 될 수있는 경우에도 함수가 한 번 실행되도록 캐시 된 값을 갖는 것입니다. – Benmj