2015-12-31 32 views
1

我有我的控制器的简单功能,在我的模板调用的时候,完美的作品,如下:角:传播控制器功能的指令

在我的控制器:

在我的模板:

<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> 

缺少什么我在这里?关于这个问题的任何亮点? 谢谢

+0

可以提供小提琴? –

+0

似乎没有将保存功能传递给指令。尝试使用 sdfacre

+0

实际上你缺少很多东西,比如restrict:'AE'和其他小东西。我尝试将你的请求复制到[Fiddle](http://jsfiddle.net/HB7LU/21716/) –

回答

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