我写了一个指向JustGage插件的指令,如下所示。
function justGage() {
return {
restrict: 'E',
replace: true,
scope: {
id: '@',
value: '='
},
template: '<div id="{{id}}" class="200x160px" style="margin-top: 5vh"></div>',
link: function ($scope, $element) {
var g = new JustGage({
id: $scope.id,
value: $scope.value,
min: 0,
max: 100,
minLabelMinFontSize: 15,
maxLabelMinFontSize: 15,
valueMinFontSize: 40,
valueFontColor: '#ededed'
});
}
};
}在控制器中,我为id和gauge value赋值
$element.id = "gauge";
$element.value = $scope.data;我的html如下。
<just-gage></just-gage>然后我以"justgage : no element with id 0"的身份得到一个错误。在我的指令中,我给template和JustGage对象添加了相同的id。我该如何解决这个问题来渲染仪表呢?
发布于 2016-11-04 20:01:48
您在指令中创建了一个新的子作用域,因此它不知道您在控制器中分配的id和value。
你可以这样做:
link: function ($scope, $element, $attrs) {
var g = new JustGage({
id: $attrs.id,
value: $attrs.value,
// ..
});
}https://stackoverflow.com/questions/40421523
复制相似问题