在嵌套 Angularjs 控制器中使用 ng-model
Use ng-model in nested Angularjs controller
我在 angularjs 中有两个嵌套控制器,想在内部控制器中使用来自外部的 ng-model。假设这个
<div ng-controller='outController'>
// data.Name : from outer controller
<div ng-controller='innerController'>
<input type="text" ng-model='name' ng-init='name=data.Name'>
{{data.Name}} // display this scope value
</div>
</div>
data.Name
值显示在 html 页面中但未绑定到名称 ng-model。
如何将此值绑定到内部 ng-model?
在这种情况下您应该遵循点规则,这样您就可以使用 prototypal inheritance 访问子范围内的父范围。要使用这种方法,您需要在父控制器中声明一个对象,就像这里一样,它应该在 outController
中声明,然后内部控制器不会创建新的,它将使用现有的 prototypal inheritance
标记
<div ng-controller='outController'>
// data.Name : from outer controller
<div ng-controller='innerController'>
<input type="text" ng-model='data.Name'>
</div>
</div>
代码
app.controller('outController', function($scope){
$scope.data = {};
//..other code here ..//
})
我在 angularjs 中有两个嵌套控制器,想在内部控制器中使用来自外部的 ng-model。假设这个
<div ng-controller='outController'>
// data.Name : from outer controller
<div ng-controller='innerController'>
<input type="text" ng-model='name' ng-init='name=data.Name'>
{{data.Name}} // display this scope value
</div>
</div>
data.Name
值显示在 html 页面中但未绑定到名称 ng-model。
如何将此值绑定到内部 ng-model?
在这种情况下您应该遵循点规则,这样您就可以使用 prototypal inheritance 访问子范围内的父范围。要使用这种方法,您需要在父控制器中声明一个对象,就像这里一样,它应该在 outController
中声明,然后内部控制器不会创建新的,它将使用现有的 prototypal inheritance
标记
<div ng-controller='outController'>
// data.Name : from outer controller
<div ng-controller='innerController'>
<input type="text" ng-model='data.Name'>
</div>
</div>
代码
app.controller('outController', function($scope){
$scope.data = {};
//..other code here ..//
})