将参数传递给没有控制器的指令
Pass parameters to a directive without a controller
我有一个非常基本的指令,该指令包含一个模板。在模板中有一个color
变量来设置加载内容的背景颜色。
app.directive('percentageSquare', function(){
return {
restrict: 'E',
templateUrl: '/templates/dashboard/charts/PercentageChart.html'
};
});
是否有一种方法可以让我在指令中设置颜色?我在想可能是这样的:
<percentage-square color="red"></percentage-square>
模板看起来像这样:
<div style="background-color: {{color}}">
<h1>I am a cool color!</h1>
</div>
当我在寻找所有我能找到的是在控制器(指令外)设置的值,有一种方法,我可以做到这一点,只是通过HTML传递一个值?
使用隔离作用域。指令的scope
属性意味着您正在从指令外部绑定一些值。或者您可以将其视为传递给指令的parameters
。
查看JSFiddle工作演示:http://jsfiddle.net/0547gjzs/1/.
app.directive('percentageSquare', function(){
return {
restrict: 'E',
scope: {
color: '@'
}
templateUrl: '/templates/dashboard/charts/PercentageChart.html'
};
});
HTML: <percentage-square color="red"></percentage-square>
如果你访问指令的color属性,请使用scope。
app.directive('percentageSquare', function(){
return {
restrict: 'E',
scope : {
color : "@"
},
/*templateUrl: '/templates/dashboard/charts/PercentageChart.html'*/
template : "<div style='background-color : {{color}}'><h1>I am a cool color!</h1></div>"
};
});
用同样的方法使用templateUrl文件
这里是你的自定义指令
<percentage-square color="red"></percentage-square>
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 从控制器继承了隔离的作用域以生成可重用的指令
- 指令中的控制器问题
- 如何将角度输入指令数据传递给控制器
- 当使用控制器作为语法时,如何从父指令继承属性
- 将指令绑定到控制器属性
- Angularjs在获得指令中的输出后,将值分配给控制器
- 将方法从控制器注入到未使用右变量调用的指令
- Angular,从指令控制器中的控制器触发函数
- 如何在指令链接函数中使用从控制器传递的筛选器
- 角度控制器功能赢得'不按指令工作
- 角度指令控制器:参数不是函数,未定义
- 通过指令在控制器中执行javascript函数
- AngularJS执行指令模板中的控制器函数
- AngularJS中的控制器/指令继承
- 在同一元素上使用“控制器作为 x”的多个 ng 控制器指令
- AngularJS ng控制器指令不接受javascript中的变量(作用域函数),也不给出任何错误
- 如何在AngularJS中测试控制器指令
- 控制器+指令中的角度范围
- AngularJS:使用在控制器/指令中别处定义的自定义javascript函数