将ngModel传递给controllerAs组件中的指令

时间:2015-12-16 08:11:34

标签: angularjs angular-ngmodel angularjs-controlleras

从使用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所示,但看起来非常h​​acky。这怎么做得最好?

0 个答案:

没有答案