Javascript AngularJS在编译前扩展默认选项
我正在构建一个简单的表指令。如果没有在选项中传递,我需要使用默认宽度扩展列 目前,我将这些选项复制并扩展到一个新的列数组中,这样我就可以避免一次设置列,然后再次重置它们,从而导致2个摘要 有没有一种理想的方法可以将它们扩展到现有的预编译对象上,从而避免双重摘要命中Javascript AngularJS在编译前扩展默认选项,javascript,angularjs,Javascript,Angularjs,我正在构建一个简单的表指令。如果没有在选项中传递,我需要使用默认宽度扩展列 目前,我将这些选项复制并扩展到一个新的列数组中,这样我就可以避免一次设置列,然后再次重置它们,从而导致2个摘要 有没有一种理想的方法可以将它们扩展到现有的预编译对象上,从而避免双重摘要命中 类数据表{ 构造函数($scope){ var ColumnDefaults={width:50}; $scope.columns=$scope.options.columns.map((c)=>{ 返回angular.extend
类数据表{
构造函数($scope){
var ColumnDefaults={width:50};
$scope.columns=$scope.options.columns.map((c)=>{
返回angular.extend(angular.copy(ColumnDefaults),c);
});
}
}
函数指令(){
返回{
限制:'E',
控制器:“数据表”,
范围:{
选项:“=”,
值:'=',
onSelect:“&”
},
控制器:“dt”,
模板:
`
`,
链接:函数($scope、$elm、$attrs){
//log($scope.options)
}
};
};代码>如果在编译指令时钩住pre函数,则可以在指令init之前获得dom
compile: function(tElem, tAttrs){
return {
pre: function($scope, $elm, $attrs, ctrl){
... code here ...
}
}
}