如何在角度指令中使用一种方式绑定?我找不到一个简单易用的示例,而且文档也不易遵循:
&或&attr-提供一种在以下情况下执行表达式的方法
父范围。如果未指定属性名称,则属性名称
假定与本地名称相同。给定和小部件的范围定义:{
localFn:'&myAttr'},然后隔离范围属性localFn将指向
用于count = count + value表达式的函数包装器。经常
最好通过表达式从隔离范围传递数据
到父范围,这可以通过传递本地地图来完成
变量名称和值放入表达式包装器fn中。例如,
如果表达式是增量(金额),那么我们可以指定金额
通过将localFn称为localFn({amount:22})来获得值。
最佳答案
您可以在指令中使用&
运算符,可以使用以下指令:
HTML:
<div ng-app="myApp" >
<drink flavor="ctrlFlavor" ng-init="ctrlFlavor = 'blackberry'"> </drink>
<span>Flavor={{ctrlFlavor}}</span>
</div>
请注意,您可以根据需要初始化ctrlFlavor,可以在
ng-init
块中或在controller
中进行初始化,如下面的JSFiddle所示。JS:
var app = angular.module('myApp', []);
app.directive("drink", function () {
return {
scope: {
flavor: "&"
},
template: '<input value="{{flavor()}}"/>',
};
});
请特别注意
{{flavour()}
。魔术在于它返回一个函数,因此您无法设置该值。小提琴:http://jsfiddle.net/sgx8zdxc/
您可以使用它,并注意更改输入中的值(显然)将使值仅保留在父作用域中。另外,我也不认为您也可以执行
ngModel='flavor()'
。