Javascript AngularJS:在视图中时,输入未绑定到预期范围

Javascript AngularJS:在视图中时,输入未绑定到预期范围,javascript,angularjs,Javascript,Angularjs,我在绑定视图内部的输入时遇到问题。我以为它会绑定到控制器范围,但它似乎绑定到子范围,所以上面没有更新 如果其他物品在ng repeat中,它们会像我预期的那样绑定(我不知道为什么) 下面是一个例子: 如果输入不在ng repeat中,那么将其绑定到正确范围的最佳方法是什么?在您的示例中,您将更幸运地将$scope绑定到对象,而不是像这样的基本类型: $scope.test = { val: "test value" }; 您可以查看一个工作示例 在中创建的子作用域将复制您的值,并且由于原始的

我在绑定视图内部的输入时遇到问题。我以为它会绑定到控制器范围,但它似乎绑定到子范围,所以上面没有更新

如果其他物品在ng repeat中,它们会像我预期的那样绑定(我不知道为什么)

下面是一个例子:


如果输入不在ng repeat中,那么将其绑定到正确范围的最佳方法是什么?

在您的示例中,您将更幸运地将
$scope绑定到对象,而不是像这样的基本类型:

$scope.test = { val: "test value" };
您可以查看一个工作示例

在中创建的子作用域将复制您的值,并且由于原始的
$scope.test
是一个基本字符串,因此它没有与父值的链接,因此您的输入将修改子作用域副本。当绑定到对象时,您的子作用域具有对象引用的副本,但最终将修改对象的同一实例

您可以查看有关创建跨多个控制器持久化数据的服务的更多信息(这与您的问题有点类似)

您还可以研究如何使用
$parent
,如中所述,尽管Mark提到它没有文档化,如果在某处引入了另一个子作用域,它可能会变得混乱