将ng-model属性传递给自定义指令

时间:2014-11-03 15:44:18

标签: javascript angularjs angularjs-directive

所以,我有一个表单,我需要使用自定义指令。 我需要的是:将user模型传递给指令。

<form>
    <input type="text" ng-model="user.login">
    <input type="password" ng-model="user.password">

    <span ng-custom-directive ng-model="user.testfield"></span>

</form>

指令模板如下所示:

<span><input type="checkbox" ng-model="[HERE I NEED user.testfield TO WORK WITH user]"> </span>

如何将user模型传递给指令模板?

表单提交后,我需要在user.testfield$scope.user提供console.log($scope.user) { login: 'test', password: 'test', testfield: true|false }

{{1}}

2 个答案:

答案 0 :(得分:10)

您可以通过plunker

的其他方式解决此问题

简而言之:

scope: {
    bindedModel: "=ngModel"
},
template: '<input type="text" ng-model="bindedModel">'

答案 1 :(得分:0)

好吧,我发现了类似的问题并以这种方式解决了我的问题:

angular.module("myApp")
  .directive "ngCustomDirective", () ->
      restrict: 'A',

      scope:
        field: '@',
        model: '='

      template: '<span><input type="checkbox" ng-model="model[field]"></span>'

指令用法为:

<span ng-custom-directive
       ng-bind-model="user"
       ng-bind-field="testfield">
</span>