将指令中的值传递回ng-model

时间:2014-11-18 06:34:33

标签: javascript angularjs angularjs-directive angular-ngmodel

我会尽力解释这一点,尽管有点晚了。

我正在创建一个指令,该指令将根据下拉列表包含大量输入字段。我基本上创建了一个我希望传递给父级的自定义选项。我将调用模板中的ng-model值传递给指令。我想获取自定义选项的值,并将其传递回指令中ng-model的值。

我有一个关于我试图做的东西的装置:

http://plnkr.co/edit/fhSgkSaLIBxs8BhQbdWW?p=preview

如果查看此代码,您可以在html文件中看到页面上有输入,然后调用该指令。输入从对象name.first获取值。然后该指令采用值name.test。在指令中,我有一个具有附加输入字段的模板。我试图从此内部输入字段中获取值并将值传递回name.test值。现在,我知道我可以将指令输入的ng-model设置为传递的ngModel值,但这只是一个简单的例子,在实际代码中我将有其他复选框和无线电元素我想作为一个对象聚集并传回ng-model。如果有效,则单击该按钮将记录对象{ first: 'Felipe', test: { new_value: 'My Inner Value' } }

1 个答案:

答案 0 :(得分:0)

您对指令使用ng-model会使其有点混乱,因为指令中的ng-model和输入标记不一样。

如果我理解你的问题,以下应该解决它

app.directive('myDirective', function($compile) {
  return {
    restrict: 'E',
    scope: {
      newModel: '=ngModel'
    },
    template: '<div class="some">' +
      '<p ng-bind="newModel"></p><input ng-model="newModel.new_value"></div>',
    replace: true,
    require: '?ngModel'
  };
});
相关问题