Angularjs指令:将模型引用传递给隔离范围

时间:2014-07-31 13:11:10

标签: angularjs angularjs-directive

我正在尝试编写一个可折叠的,可重用的计算器指令,它绑定到输入字段(在父作用域中)。此输入字段本身具有ngModel绑定。 当用户按下我的指令的equals-button时,应该更新这个父作用域模型。我需要隔离范围,以便我可以重复使用它:

这是简化的代码以及我想如何使用它: http://plnkr.co/edit/OSOcxydJWh8K520nstAU?p=preview

我尝试将值作为属性传递。但这不起作用,因为我不知道如何在控制器内更新此属性(我尝试了$attrs服务)。

那么如何从指令更新模型?

2 个答案:

答案 0 :(得分:1)

也许你是在思考它,也许我正在解开它。无论哪种方式,我都采取了一些措施来改变你的工作:

if ($scope.operator ==='+') {
  $scope.field = parseInt($scope.field) + $scope.operand;
}

我取消了您的范围,然后我确保您的控制器参考了您在示波器中公开的数据。就是这样。

这是你的Plunker的工作版本:http://plnkr.co/edit/btBi3E

答案 1 :(得分:0)

您需要使用ngModelController。这是一个文档链接,有一个方便的例子: NgModelController