从链接函数内部带有参数的指令角度调用控制器方法
Angular calling controller method from directive with parameters inside link function
我有一个指令,它有一个链接函数,类似于:
scope: {
target: '@',
fooFunction: '&'
},
link:
scope.$apply(attrs.fooFunction);
var fooValue= scope.fooFunction(data,scope.target);
在我的控制器中,我将此功能定义为:
$scope.fooFunction= function (data, target) {
//some code here
}
当我在html中使用这个时,我会这样写:
<div some-directive foo-Function="fooFunction(ctrl.data,'hardCoded')" target="actualValue"></div>
其中我使用myController作为ctrl。
我的问题是,即使我将值作为scope.target传递,它也总是选择hardCoded值。有什么方法可以传递scope.target中的值而不是硬编码的值吗?
正如您提到的目标为@
,因此您需要使用{{}}
来评估该属性值,该值将被视为单向绑定。
就像你可以在控制器actualValue
变量中有值,然后你可以像target="{{ctrl.actualValue}}"
一样绑定它
标记
<div some-directive
foo-function="fooFunction(ctrl.data,'hardCoded')"
target="{{ctrl.actualValue}}">
</div>
相关文章:
- 如何从 AngularJS 指令调用 Android 方法
- Angularjs指令调用控制器函数
- 从自定义指令调用角度路由
- 如何在angular js中从指令调用控制器函数
- Angularjs将函数从控制器传递到指令(或从指令调用控制器函数)-带参数
- 从指令调用控制器函数(使用从指令传递的参数)
- ng 类指令调用执行两次
- 从子指令调用指令函数不起作用
- 从指令调用角度控制器函数
- AngularJS 从$stateProvider设置的控制器上的指令调用函数
- 如何从带有复选框的 AngularJS 指令调用函数,当它被选中时
- Angular JS:从指令调用父控制器方法
- 角度ng-repeat不更新,当使用jQuery内部指令调用Angular 方法时
- 递归自定义树视图 angularjs 指令调用 ng 单击两次
- 自定义指令调用$scope函数会导致$rootScope:infdig
- ngTagInput在通过指令调用时给出了一个javascript控制台错误
- 从$rootScope-AngularJS中的指令调用函数
- 从指令调用父作用域函数
- 从另一个指令调用指令
- 如何从从指令调用的函数中调用函数