현재 각도 지시문 등에 대한 이해를 높이기 위해 스파이크를 구현 중입니다.
전제 조건은 여러 통화 쌍에 대해 FX 감시 목록을 만드는 것입니다.
내 데이터 피드는 socket.io를 통해 가격 업데이트를 위해 설정됩니다.
내가 가지고있는 장애물은 가격 변동에 따라 CSS를 바꿀 수 있습니다 (즉 위로 화살표는 위로, 아래로 화살표는 아래로).
저는 감시자 기능이 필요하다고 생각하지만 시작해야 할 곳에서 고생하고 있습니다. 일을 수행하기 위해 일종의 표현을 찾고 있었지만 ... 방법은 $ 감시자처럼 보이기 시작하지 않았습니다. 내 지침에서 이전 가격을 범위로 저장하면 각 가격에 하나가 아닌 이전 값이 하나만 있다는 의미이기 때문에 결함이있었습니다.
내 질문에 : 솔루션은 ng-class 또는 $ watcher 기능 설정 중입니까?
Heres는 내 코드 ...
HTML 템플릿
<div ng-repeat="rate in rates" ng-click="symbolSelected(rate)">
<div class="col-1-4">
{{rate.symbol}}
</div>
<div class="col-1-4">
<span ng-class='bullBear(rate.bidPoint)' ></span> {{rate.bidBig}}<span class="point">{{rate.bidPoint}}</span>
</div>
<div class="col-1-4">
<span ng-class='bullBear(rate.offerPoint)' ></span> {{rate.offerBig}}<span class="point">{{rate.offerPoint}}</span>
</div>
<div class="col-1-4">
{{rate.timeStamp | date : 'hh:mm:ss'}}
</div>
</div>
내 지시어는 현재 언급 한 바와 같이이 작동하지 않습니다와 bullBear 방법은 $ 감시자처럼 보이기 시작했다 ... 다음과 같습니다
기능.
.directive('fxmarketWatch', function(fxMarketWatchPriceService){
return {
restrict:'E',
replace:'true',
scope: { },
templateUrl:'common/directives/fxMarketWatch/marketwatch.tpl.html',
controller : function($scope, SYMBOL_SELECTED_EVT,fxMarketWatchPriceService){
$scope.symbolSelected = function(currency){
$scope.$emit(SYMBOL_SELECTED_EVT,currency);
}
$scope.bullBear = function(newPrice){
if ($scope.oldPrice> newPrice){
return ['glyphicon glyphicon-arrow-down','priceDown'];
}
else if ($scope.oldPrice > newPrice){
return ['glyphicon glyphicon-arrow-up','priceUp'];
}
}
$scope.$on('socket:fxPriceUpdate', function(event, data) {
$scope.rates = data.payload;
});
}
}
})
, 해결하기 위해 비교적 간단하게이 문제 그래서이 시간
rate.bidPoint
및rate.offerPoint
는$watch
-ing를 위해 사용할 수 있어야합니다 그리고 초기 문제의 맥락에서 볼 때 Konstantin Krass가 제안한 것과 같은 솔루션을 사용 했으므로 전문가가 더 많은 통찰력을 제공하여 투표를하게되었습니다. – SPA