我正在尝试从http Promise的响应中获取数据,并通过自定义指令在attr上设置此数据,但始终在我的指令中获取未定义的数据
promiseComboBox.then((response) =>
{
$scope.comboBoxTipoParking = response; //get data
});
module.directive('comboBox', ['$rootScope', function($rootScope){
return {
restrict : 'E',
scope : {
data : '=',
label : '='
},
templateUrl : '/Scripts/components/select/select.html',
link : function(scope, element, attrs)
{
console.log(attrs);//get here but undefined
scope.label = attrs.label;
$('.select2').select2({
width : '100%',
dropdownParent : $('.modalFocusInput')
});
}
}
}]);
<combo-box label="Parqueadero" data="{{comboBoxTipoParking}}">
</combo-box>
//传递http请求的结果
答案 0 :(得分:0)
一个人可以使用attrs.$observe
app.directive('comboBox', function(){
return {
restrict : 'E',
scope : false,
templateUrl : '/Scripts/components/select/select.html',
link : function(scope, element, attrs)
{
console.log(attrs);//get here but undefined
attrs.$observe("boxData", function(value) {
console.log(value);
});
}
}
});
<combo-box label="Parqueadero" box-data="{{comboBoxTipoParking}}">
</combo-box>
在将标识符data
用作属性时要小心。指令normalization去除了data-
前缀。