将html附加到具有范围值的指令内部
append html inside directive with scope values
我正在尝试制作一个饼图指令,我使用了highcharts指令,但我也想添加另一行文字,例如"60%"左右。到目前为止,我尝试了这个
app.directive('pieGraph', function($compile) {
return {
restrict: 'C',
scope: {
value: '@',
color: '@'
},
link: function(scope, elem) {
elem.highcharts({
chart: {
type: 'pie',
backgroundColor: null
},
title: {
text: null
},
yAxis: {
title: {
text: 'Total percent market share'
}
},
plotOptions: {
pie: {
shadow: true
}
},
legend: {
enabled: false
},
credits: {
enabled: false
},
exporting: {
enabled: false
},
tooltip: {
enabled: false
},
series: [{
name: '',
data: [
{
name: 'a',
y: parseInt(scope.value, 10),
color: scope.color
},
{
name: 'b',
y: (100 - parseInt(scope.value, 10)),
color: '#ffffff'
}
],
size: '100%',
innerSize: '90%',
dataLabels: {
enabled: false
}
}]
});
var graph = angular.element('<span class="pie-graph-value">{{scope.value}}<sup>%</sup></span>');
$compile(graph)(scope);
elem.append(graph);
}
};
});
但这个问题是,我最后应用的sai只是%,而不是值和百分比符号。我最后在编译的东西上做错了什么吗?
提前谢谢你,丹尼尔!
使用{{value}}
或将元素写入'<span class="pie-graph-value">' + scope.value + '<sup>%</sup></span>'
(请注意,后者稍后不会更新,因为在添加元素时只计算一次值)。该元素将被呈现,因此对scope
的引用是隐式的。
相关文章:
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- AngularJS:带有HTML和angular表达式的指令;编译”;具有外部范围的内容
- AngularJS指令范围约束问题重复出现
- 在 Angular 指令中,如何进行回调,其中函数名称位于父范围的变量中
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- AngularJS:从控制器访问特定的指令范围
- AngularJS:从指令设置范围变量
- AngularJS在指令模板中修改范围
- 基于范围数据更改指令模板中的元素
- 如果指令包含在另一个指令中,我如何在隔离范围内添加双向数据绑定属性
- 日期-时间范围指令字段未显示任何值
- 从父控制器传递工厂数据以隔离范围指令
- 从子元素访问范围指令
- AngularJS在父级和子级范围指令之间共享数据
- 隔离范围指令会导致业力错误
- 范围$指令中的watch't在AJAX请求后被调用
- 如何在AngularJS中对隔离范围指令进行单元测试
- AngularJS隔离范围指令
- 从隔离范围指令中的更改更改控制器变量值
- 美元的范围.指令中的项未定义