Angular:将控制器函数传播到指令

时间:2015-12-31 02:05:57

标签: angularjs ionic-framework

我的控制器中有一个简单的功能,当在我的模板中调用时,功能完美,如下所示:

在我的控制器中:

$scope.save = function(arg){ ... }

在我的模板中:

<input ng-model="namespace" ng-change="save(namespace)">

所以我创建了一个指令,而且这个函数不再传播了:

在我的指令中:

.directive('genericField', function() {
  return {
    scope: {
      namespace: '=',
      ngChange: '&',
      save: '&',
    },
    template: '<input ng-model="namespace" ng-change="save(namespace)">',
  }
})

在我的模板中:

<generic-field namespace="name"></generic-field>

我在这里缺少什么?这个问题有什么亮点吗? 谢谢

1 个答案:

答案 0 :(得分:1)

更改您的代码如下。  指令:

.directive('genericField', function() {
  return {
    restrict: 'AE',
    scope: {
      save: '&'
    },
    template: '<input ng-model="namespace" ng-change="save({arg : namespace})">',
  }
})

HTML:

<generic-field namespace="name" save="save(arg)"></generic-field>

<强> Fiddle