如何在angularjs中将多个作用域变量传递到自定义指令中
how to pass multiple scope variables into custom directive in angularjs
我试图将2个作用域变量从控制器传递到一个自定义指令中,但在访问这两个变量时都遇到了问题。指令和控制器的型号相同。这是代码:
Html:
<myDirective data="var1" item="var2"></myDirective>
控制器:
$scope.var1="abc";
$scope.var2="xyz";
指令:
app.directive('myDirective', function () {
return {
restrict: 'E', //E = element, A = attribute, C = class, M = comment
scope: {
var1: '='
var2:'='
},
templateUrl: 'myTemplate.html',
link: function ($scope, element, attrs) {
}
}
});
模板Url:myTemplate.html
<div>{{var1}}</div> // This works
<div>{{var2}}</div> // This doesn't works
知道我怎么能两者都用吗?
在代码中进行这些更改
<popover data="var1" item="var2"></popover>
JS-
app.directive('popover', function () {
return {
restrict: 'E', //E = element, A = attribute, C = class, M = comment
scope: {
data: '=',
item: '='
},
templateUrl: 'myTemplate.html',
link: function (scope, element, attrs) {
console.log(scope.data, scope.item);
}
}
});
更改模板以匹配DDO中声明的名称。
<myDirective var1="var1" var2="var2"></myDirective>
避免使用data
作为属性名称。这是一个保留前缀,在规范化过程中被剥离。有关属性非军事化的更多信息,请参阅AngularJS开发人员指南-指令非军事化。
相关文章:
- 参数变量出现ngTable指令问题
- 以角度将父指令变量传递给子指令
- 将方法从控制器注入到未使用右变量调用的指令
- 自定义指令模板中的AngularJS控制变量
- 如何在隔离作用域指令中访问此作用域变量
- 在 Angular 指令中,如何进行回调,其中函数名称位于父范围的变量中
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 我无法通过angularjs中的指令更新变量
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 使用存储在thymleaf变量中的角度指令
- 在 ng-click 中设置$scope变量指令
- 将对象传递给指令不允许全局变量
- 保存全局变量以供指令监视的最佳方法
- AngularJS:从指令设置范围变量
- 将对象(变量)传递给angularjs指令
- 从AngularJS中的指令模板访问内联控制器变量
- 在自定义指令中角度设置新变量
- 使用 AngularJS 从指令设置范围变量
- 两个指令引用一个变量,但第二个指令不引用;不要急于改变
- 当指令被销毁时,我需要销毁本地控制器变量吗