亲爱的我有指令
function percentview($compile) {
var linker = function (scope, element) {
var controldef = "";
switch (scope.percentage.state) {
case 'stable':
controldef = ' <span class="text-yellow font-17">' +
' <i>0%</i>' +
'<i class="fa "></i> </span>';
break;
case 'up':
controldef = ' <span class="text-issue font-17">' +
' <i>+ {{percentage.percentage}}%</i>' +
'<i class="fa fa-arrow-up"></i> </span>';
break;
case 'down':
controldef = ' <span class="text-green font-17">' +
' <i- {{percentage.percentage}}%</i>' +
'<i class="fa fa-arrow-down"></i> </span>';
break;
default:
break;
}
element.html($compile(controldef));
};
var directive = {
restrict: 'E',
scope: {
percentage: '='
},
link: linker
}
return directive;
}
percentview.$inject = ['$compile'];
angular
.module('app')
.directive('percentview', percentview);
HTML://
<percentview percentage="percentiles[0]"></percentview>
但是当我运行代码时,我收到错误 scope.percentage未定义我在链接函数中记录了范围对象,并且可以看到所有值都称为百分比的属性(对象)。
如何在链接函数中传递对象。或者此代码有什么问题。
答案 0 :(得分:1)
将变量传递给链接函数对我来说似乎没问题。
如果你传递一个文字它可以正常工作,你可以在下面的jbin中看到,也许你有范围问题和百分位数[0]它在该范围内不可用
答案 1 :(得分:-1)
你能试试element.percentage.state
吗?
我可以看到百分比是元素的一个属性。