Javascript 在链接中使用手表会导致无限的摘要循环。
我想写一个指令,把分数和颜色联系起来 我已经试过了,那辆破车是。指令本身如下所示:Javascript 在链接中使用手表会导致无限的摘要循环。,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我想写一个指令,把分数和颜色联系起来 我已经试过了,那辆破车是。指令本身如下所示: .directive('scorebox', function () { function link ($scope, $elem, $attr) { var one = 1; $scope.$watch('[score,ptsPossible]', function (newValue) { pctScore = newValue[0] / new
.directive('scorebox', function () {
function link ($scope, $elem, $attr) {
var one = 1;
$scope.$watch('[score,ptsPossible]', function (newValue) {
pctScore = newValue[0] / newValue[1]
if (pctScore <= 0.4) {
rating = 'low';
} else if (pctScore <= 0.6) {
rating = 'med';
} else if (pctScore <= 0.8) {
rating = 'high';
} else if (pctScore == 1) {
rating = 'perfect';
}
$elem.removeClass();
$elem.addClass('scorebox');
$elem.addClass(rating);
$elem.text(newValue[0] + "/" + newValue[1]);
});
};
return {
restrict: 'E',
scope: {
score: "=",
ptsPossible: "="
},
link:link
}
})
指令('scorebox',函数(){
功能链接($scope、$elem、$attr){
Var1=1;
$scope.$watch(“[score,ptspobable]”,函数(newValue){
pctScore=newValue[0]/newValue[1]
如果(pctScore只是一个让事情运转起来的建议:
无需对$watch
进行评分
和ptsPossible
,因为后者在从其相应属性值加载值后不会更改。您还可以访问$watch
回调函数中的范围
变量
这是不寻常的,因为我希望您的removeClass()
也能正常工作。您可以同时在这里尝试removeAttr('class')
下面是一个建议更改的示例。只是一个让事情正常运行的建议:
无需对$watch
进行评分
和ptsPossible
,因为后者在从其相应属性值加载值后不会更改。您还可以访问$watch
回调函数中的范围
变量
这是不寻常的,因为我希望您的removeClass()
也能正常工作。您可以同时在这里尝试removeAttr('class')
下面是一个建议更改的示例。只是一个让事情正常运行的建议:
无需对$watch
进行评分
和ptsPossible
,因为后者在从其相应属性值加载值后不会更改。您还可以访问$watch
回调函数中的范围
变量
这是不寻常的,因为我希望您的removeClass()
也能正常工作。您可以同时在这里尝试removeAttr('class')
下面是一个建议更改的示例。只是一个让事情正常运行的建议:
无需对$watch
进行评分
和ptsPossible
,因为后者在从其相应属性值加载值后不会更改。您还可以访问$watch
回调函数中的范围
变量
这是不寻常的,因为我希望您的removeClass()
也能正常工作。您可以同时在这里尝试removeAttr('class')
这里是一个包含建议更改的示例。您需要使用$watchCollection
而不是$watch
。您将数组传递给$watch
,这是$watchCollection
所期望的。您需要使用$watchCollection
而不是$watch
。您将数组传递给$watch
这是$watchCollection
的期望值。您需要使用$watchCollection
而不是$watch
。您正在向$watch
传递数组,这是$watchCollection
的期望值。您需要使用$watchCollection
而不是$watch
。您正在传递arr可以转到$watch
,这是$watchCollection
所期望的