Angularjs指令:将模型引用传递到隔离范围
我正在尝试编写一个可折叠、可重用的计算器指令,它绑定到一个输入字段(在父范围内)。此输入字段本身具有Angularjs指令:将模型引用传递到隔离范围,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在尝试编写一个可折叠、可重用的计算器指令,它绑定到一个输入字段(在父范围内)。此输入字段本身具有ngModel绑定。 当用户按下我的指令的equals按钮时,应该更新父范围模型。我需要隔离范围,以便可以重用它: 下面是简化的代码以及我希望如何使用它: 我尝试将值作为属性传入。但这不起作用,因为我不知道如何在控制器内部更新此属性(我尝试了$attrs服务) 那么,如何根据指令更新模型呢 您需要使用ngModelController。这里有一个文档链接,并附有一个方便的示例: 也许你想得太多了
ngModel
绑定。
当用户按下我的指令的equals按钮时,应该更新父范围模型。我需要隔离范围,以便可以重用它:
下面是简化的代码以及我希望如何使用它:
我尝试将值作为属性传入。但这不起作用,因为我不知道如何在控制器内部更新此属性(我尝试了$attrs
服务)
那么,如何根据指令更新模型呢 您需要使用
ngModelController
。这里有一个文档链接,并附有一个方便的示例:
也许你想得太多了,也许我想得太少了。不管是哪种方式,我所做的一切都是为了改变你的工作:
if ($scope.operator ==='+') {
$scope.field = parseInt($scope.field) + $scope.operand;
}
我取消了对您的作用域的注释,然后确保您的控制器引用了您在作用域中公开的数据。就这样
这是您的Plunker的工作版本:谢谢,这正是我想要使用它的方式。我尝试的是像注入的服务一样访问它(console.log(field),而不是console.log($scope.field)