获取Angular UI选项卡中的范围

Art*_*kel 5 tabs scope angularjs angular-ui

我在选项卡(Angular UI)的上下文中遇到了角度范围的问题.

这是我的jsfiddle示例(缩小示例,显示多个选项卡上的字段,在选项卡外部有一个提交按钮).

这是基本的html布局:

<form...>
  <tab>
    <pane>
      <input...>
    </pane>
  </tab>
</form>
Run Code Online (Sandbox Code Playgroud)

看看jsfiddle示例,如果我提交一个非常基本的表单而没有选项卡,我会看到$ scope.user是一个对象.由于字段位于窗格(选项卡)内,因此范围不正确.如何在createUser中访问提交的用户对象?

Noa*_*tas 7

问题是user模型深埋在隔离范围内.为了使代码按预期工作,您需要alert输出$scope.$$childHead.panes[0].$$nextSibling.user.first_namenot 的值$scope.user.这显然不是解决方案.

一个简单的解决方案是将空user对象添加到控制器范围.然后ng-model,HTML中的指令将绑定到此属性.您的控制器应如下所示:

function MyCtrl($scope) {
  $scope.user = {};
  $scope.createUser = function () {
    alert($scope.user);
  };
}
Run Code Online (Sandbox Code Playgroud)