如何在指令中定义两个ng-click函数
How to define two ng-click functions in a directive?
这是我在模板中的代码。
<button ng-click="{{backFunction}}" ng-show="{{backShow}}"> Back </button>
<button ng-click="{{nextFunction}}" ng-show="{{nextShow}}"> Next </button>
指令代码directive('navigationButtons', function() {
return {
restrict: 'AE',
templateUrl : 'angular/app/partials/navigationButtons.html',
scope: {
backFunction: '@',
backShow: '@',
nextFunction: '@',
nextShow: '@'
}
};
})
查看代码(我使用的指令)
<navigation-buttons nextFunction="a.active=true" nextShow="true" backFunction="b.active=false" backShow="true"></navigation-buttons>
显示错误为Syntax Error: Token 'nextFunction' is unexpected
你应该接收带有&而不是@
也接受布尔值显示/隐藏与=如果你需要双向绑定&不想设置$watch/$observe
directive('navigationButtons', function() {
return {
restrict: 'AE',
templateUrl : 'angular/app/partials/navigationButtons.html',
scope: {
backFunction: '&',
backShow: '=',
nextFunction: '&',
nextShow: '='
}
};
})
把函数传递给指令
编辑
还可以查看这篇关于指令的好文章
你的代码中有一些错误,首先,在你的模板中,你改变了驼峰大小写为破折号分隔,并删除了花括号
<button ng-click="backFunction()" ng-show="backShow"> Back </button>
<button ng-click="nextFunction()" ng-show="nextShow"> Next </button>
现在在指令中替换作用域隔离:
directive('navigationButtons', function() {
return {
restrict: 'AE',
templateUrl : 'angular/app/partials/navigationButtons.html',
scope: {
backFunction: '&',
backShow: '@',
nextFunction: '&',
nextShow: '@'
}
};
我创建了一个jsfiddle与您的代码工作:http://jsfiddle.net/v7V6y/
最好!
相关文章:
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- 在 ng 模型中具有单向绑定的两个输入
- 我可以在 angularJS v1 中每次使用 ng 重复项两个吗?
- 如何在同一个表中显示这两个嵌套ng重复的元素
- 两个 ng 单击函数不会一起执行
- 仅显示多个ng-click事件angularjs中单击的元素值
- AngularJS -多个ng-click -事件冒泡
- 如何在指令中定义两个ng-click函数
- 两个Ng-repeat Angularjs中FilterBy中的动态值
- Angular指令编译器触发了两次ng-click
- 从两个ng模型中获取数据并插入到第三个ng模型中
- Angularjs的两个ng控制器可以解决HTML标记中的冲突
- 两个ng在一个html页面中提交两个表单上的验证事件
- 如何组合这两个 ng 类语句
- 如何在一个表格行中使用两个 ng 重复
- 当使用两个不同的控制器文件时,局部视图ng-click不起作用
- 如何通过混合值来编写两个ng重复
- 如何实现一个全局函数,它可以在angular中的多个ng-click函数中使用?