我创建了包含少量按钮的文档标题,并使用ng-include
在我的一些观看中添加了标题。
每个视图都有自己的控制器,每个按钮都有点击事件
为了防止代码复制,处理这种情况的最佳做法是什么?
提前谢谢。
答案 0 :(得分:1)
您可以将代码的这一部分移动到指令中,以便只放置指令元素就足够了,代码将根据需要重用。
<强> HTML 强>
<my-directive template-url="abc.html" click-function="refreshData()"></my-directive>
<强>指令强>
app.directive('myDirective', function(){
return {
restrict: 'AE',
templateUrl: function(ele, attr){
return attr.templateUrl
},
link: function(scope, element, attrs){
element.find('button').on('click', function(){
scope.$apply(function(){
scope.$eval(attrs.clickFunction())
});
})
}
}
})
以上指令,您可以在属性中传递templateUrl
名称,该名称可用于ng-include
&amp;对于点击事件,您需要在clickFunction
属性上传递点击事件参考。这将调用点击按钮。