我得到了一個指令,它有一個屬性傳遞的模型:Angular指令:傳遞作用域對象
use strict;
angular.module('ebs-front')
.directive('ebsIa', function() {
return{
restrict: 'A'.
scope: {
opened: '=ebsIaOpened',
model: '=ebsIaModel',
cb: '&ebsIaCb'
},
controller: function($scope, $uibModal){
console.log('check');
$scope.text = { text: 'test'};
$scope.$watch('opened', function(newValue) {
if(newValue === true){
var modalInstance = $uibModal.open({
controller: 'ImpactAnalyseController',
templateUrl: 'common/directive/ebs-ia-template.html'
});
}
});
}
}
});
在這個指令中,我需要做一些操作,然後打開一個模態窗口。所以對於這麼好,但事情是,我希望$ scope.model也可以在ImpactAnalysisController中訪問。
我的假設是$ scope.test和$ scope.model將自動在ImpactAnalysisController中可用,但顯然創建了一個僅對controller:function部分有效的隔離範圍。
什麼是將範圍的模型變量傳遞給ImpactAnalysisController的好方法?爲什麼它不是角度的默認行爲?
如果我像下面那樣定義我的指令,那麼removeFromFilters(在本例中)IS在指令中可用,所以我有點不解。任何幫助將不勝感激...
use strict;
angular.module('ebs-front')
.directive('ebsIa', function() {
return{
restrict: 'A'.
scope: {
opened: '=ebsIaOpened',
model: '=ebsIaModel',
cb: '&ebsIaCb'
},
controller: 'ImpactAnalysisController'
};
)};
添加代碼而不是屏幕截圖 –
您面臨的問題是您無法從屬性獲取值到您的控制器..正確..? –
的確,我將ebsIaModel傳遞給帶有屬性的指令。我期待$ scope.model在ImpactAnalysisController中包含該對象。 –