angularjs:指令中的多个绑定函数
angularjs: multiple binded functions in directive
我的指令中有一个函数绑定到控制器中的一个函数,如下所示:
HTML:
<div graph-visualization data="graphdata" type="graphtype" data-method="watchMonth" timespan="timespan" id="graph" ng-if="!loading">
</div>
指令:
app.directive('graphVisualization', function() {
return {
restrict: 'A',
scope: {
data: '=',
type: '=',
timespan: '=',
monthFilter: '&method'
},
link: function(scope, element, attrs) {
scope.updateMonth = function() {
var func = scope.monthFilter();
func(scope.month)
}
scope.$watchGroup(['data', 'timespan', 'type'], function(newval, oldval) {
scope.month = 'something'
scope.updateMonth()
})
})
控制器:
$scope.watchMonth = function(value) {
//handle value passed from directive
}
正如你所看到的,我的控制器中有一个绑定函数"watchMonth",它是从指令中调用的。现在,我想在我的指令中添加另一个函数,它绑定到我的控制器中的其他函数。我该怎么做?我似乎无法理解。
我想要的是处理指令中的一个点击,并根据该点击获得一个值。现在,我想把这个值传递给控制器,它将修改控制器中的"graphdata"(我在上面提供了一个观察组)。
在html中添加如下方法:month filter="watchMonth()"second function="function()"
请确保在函数名的末尾添加括号
<div graph-visualization data="graphdata" type="graphtype" month-filter="watchMonth()" second-function="secondFunction()" timespan="timespan" id="graph" ng-if="!loading">
app.directive('graphVisualization', function() {
return {
restrict: 'A',
scope: {
data: '=',
type: '=',
timespan: '=',
monthFilter: '&',
secondFunction: '&'
},
link: function(scope, element, attrs) {
scope.updateMonth = function() {
var func = scope.monthFilter();
func(scope.month)
}
scope.$watchGroup(['data', 'timespan', 'type'], function(newval, oldval) {
scope.month = 'something'
scope.updateMonth()
})
})
加了一个plunker,也许会有帮助http://plnkr.co/edit/cISSlQpQF6lFQrDdbTg4?p=preview
相关文章:
- 如何在动态创建的节点上绑定函数
- 绑定函数时在IE7中未实现Javascript错误
- jQuery结合了2个绑定函数(类型错误:a是未定义的)
- Jquery函数无法处理动态加载的内容(不是绑定函数)
- 从console.log调用webpack绑定函数/类
- React没有绑定函数调用,尽管有相反的警告
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 如何在React Native中为ListView中的每个元素绑定函数
- jquery绑定函数不起作用
- 具有绑定与未绑定函数的数组筛选器
- 绑定函数仅适用于最后一个元素
- 如何将新函数绑定到元素的 onclick 事件,并使其在所有其他绑定函数之前运行
- 绑定函数链接
- 动态 JS 拖动绑定函数限制在线拖动
- 绑定函数的返回语句中参数的推理是什么
- 在jQuery上动态绑定函数
- 确定 JavaScript 函数是否为绑定函数
- jQuery 绑定函数不起作用
- 反应组件中的绑定函数
- Javascript 绑定函数到 Ajax 加载事件