我在每个 ng-repeat 中显示了两个控件,一个是用于选择地址类型的下拉框,第二个是带有自定义指令的输入。
我想在第二个控件的指令中访问第一个控件中的选定值(在变量 aFlag 中设置)。我认为 aFlag 是一个子范围变量,但我无法在函数 toggleAFlag() 中检索子范围以将标志设置为它以及如何在指令中访问该标志。
下面是我的html代码
<div ng-app="myapp">
<div ng-controller="AppCtrl">
<div ng-repeat="item in itemList">
<div>
<select ng-options="addressType.name for addressType in item.addressTypes" ng-model="addressType"
ng-change="toggleAFlag(addressType)" >
</select>
</div>
<div> <input type="text" ng-model="value" my-directive></input></div>
</div>
</div>
</div>
Javascript
function AppCtrl(){
$scope.toggleAFlag = function(addressType) {
if (addressType == 'Business')
$scope.AFlag = true;
else {
$scope.AFlag = false;
}
};
}
var myapp = angular.module('myapp',[]);
myapp.directive('myDirective', function(){
return {
require: '?ngModel',
link: function(scope, element, attrs, model){
if (scope.AFlag == true){
//do something on element variable
}
}
};
});