从使用controllerAs声明的指令,我想将范围变量传递给嵌套指令,该指令将在其中使用。我希望“内部”的任何变化都能反映在外部,反之亦然。
通过隔离范围抓取变量不是一种选择,因为controllerAs指令已经要求隔离范围。 See example here
我在内部指令中提出了这个问题:
link: function($scope, el, attrs, ngModel) {
$scope.ngModel = {};
$scope.modelValue = ngModel.$modelValue;
$scope.$watch(function () {
return ngModel.$modelValue;
}, function(newValue) {
$scope.ngModel = newValue;
});
$scope.$watch(function () {
return $scope.ngModel;
}, function(newValue) {
ngModel.$setViewValue(newValue);
}, true);
}
- 如following example所示,但看起来非常hacky。这怎么做得最好?