将项从控制器中的值转换为指令
Converting an item from a value within a controller to a directive
我不确定我是否这样做是正确的,但我正试图将某些东西转换为控制器中的指令,因为我想多次使用它,只是改变几个值,所以不是制作许多巨大的对象文字,我将只有一个,只是改变传入的值。我试图绑定chartConfig
,但它似乎不工作。我做错了吗?
这是我的指令:
app.directive('percentageSquare', function(){
return {
restrict: 'E',
scope: {
bgClass: '@',
percentage: '@',
chartConfig: '='
},
link: function(scope){
var fontSize = 80;
var percentage = scope.percentage || 0;
scope.chartConfig = {
options: {
chart: {
// Chart settings here
}
}
};
},
templateUrl: '/templates/dashboard/charts/PercentageChart.html'
};
});
这是指令正在使用的模板( percentagecchart .html):
<div class="drop-shadow">
<div class="row">
<div class="col-sm-12">
<highchart config="chartConfig" class="{{bgClass||''}}" ng-show="true"></highchart>
</div>
</div>
</div>
下面是我调用指令的方式:
<percentage-square bg-class="bg-orange" percentage="23"></percentage-square>
现在我的chartConfig
不再绑定到指令,就像它以前在控制器时一样。有什么办法可以解决这个问题?
我已经得到了一点进一步,这似乎工作:
scope.$watch(scope.chartConfig, function(){
scope.chartConfig = {
// Chart Settings
};
});
但是它似乎加载了两次图表,因为我得到了两个动画
标题>看来我想做的是看chartConfig
。为了使其正常工作,还必须将其包装在字符串中。使用scope.chartConfig
加载图表两次,而'chartConfig'
加载图表一次并且正确。
scope.$watch('chartConfig', function(){
scope.chartConfig = {
// Chart Settings
};
});
相关文章:
- 正在将日期范围选择器转换为角度指令
- 将jQuery插件转换为指令
- 触发CSS转换,使用来自Javascript的样式,从内部指令完成回调
- 将jquery插件转换为指令angular
- 如何在angularjs中将一个具有赋值的指令转换为另一个指令
- Angularjs指令模板转换
- 如何将此函数转换为 Angular 指令
- 将jQuery插件转换为AngularJS指令 - 如何应用if/else
- 将 HTML/CSS 元素转换为可重用的 AngularJS 指令
- 将 jquery 插件转换为 Angular 指令
- 如何将旭日图转换为指令以与 angularjs 一起使用
- 为 javascript 数组创建 angularjs 指令,将其转换为复选框列表
- 悬停时转换的角度自定义指令显示错误
- 将ng复数指令转换为Javascript函数
- 将Grails GSP自定义标记转换为AngularJS指令
- 如何在一个AngularJS指令中转换jQuery函数
- 合并指令'将功能转换为Angular表单验证
- Angularjs延迟加载时请求转换的多个指令
- Angularjs将代码转换为指令或ng重复
- 将带点的字符串转换为javascript中访问嵌套对象的指令