代码之家  ›  专栏  ›  技术社区  ›  Hadi Jeddizahed

在嵌套Angularjs控制器中使用ng模型

  •  1
  • Hadi Jeddizahed  · 技术社区  · 9 年前

    我在angularjs中有两个嵌套的控制器,并希望在内部控制器中使用来自外部的ng模型。假设这样

    <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模型。 如何将该值绑定到内部ng模型?

    1 回复  |  直到 9 年前
        1
  •  4
  •   Community Egal    7 年前

    在这种情况下,您应该遵循点规则,这样您就可以使用 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 ..//
    
    })