了解孤立范围内的角度和山雀()()
Understand the angular & in isolated scope and tits ()()
我在徘徊为什么当我使用"&"将方法从外部作用域传递到具有隔离作用域的指令时,我需要在指令中用双括号 ()() 调用此方法。
看起来该函数是用callThat()返回的,然后我需要用另一个()调用它。
第一个函数看起来像这样:
function (b){return t(a,b)}
一些 html:
<div class="jumbotron">
<div class="row" ng-controller='myController'>
<my-directive call-that="myPassedMethod"></my-directive>
</div>
</div>
我的控制器
app.controller('myController', function($scope){
$scope.myPassedMethod = function(){
console.log('War, war never changes');
}
});
我有我的指示:
app.directive('myDirective', function() {
return {
restrict: 'E',
scope: {
callThat : '&'
},
templateUrl: 'something_irrelevant.html',
controller: function ($scope) {
$scope.calledFromIrrelevantTemplate = function () {
$scope.callThat()(); // why i need ()(); here?
};
}
}
});
有人可以解释一下我的这种结构吗?(我没有JS开发经验,请使用简单的语言)。
您需要双精度函数调用的原因是因为您像这样传递函数:
<my-directive call-that="myPassedMethod"></my-directive>
您应该将其更改为:
<my-directive call-that="myPassedMethod()"></my-directive>
演示:http://plnkr.co/edit/xJnEEAGfrBXl5NXIIrZs?p=preview
相关文章:
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 如何使用D3生成特定范围内的随机颜色
- 将自定义css保持在角度范围内
- Angular JS-文本框未在独立范围内更新
- cookie不在网站范围内
- 获取给定JavaScript范围内的解析函数
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- JavaScript-仅验证数值并且在范围内
- JS:从数组中查找特定范围内的最低/最高数字
- 试图检查表单中的值是否为一个设定范围内的数字
- 在十进制范围内搜索
- 基于日期范围的一组日期范围内的天数
- 如何在 Google 应用脚本中 sendEmail 函数的范围内的唯一非空白列中返回值
- 将数组传递给函数或确保它在范围内
- socket.io 客户端是否必须存在于全局范围内
- 查找某个日期范围内的可用天数
- 网站范围内jQuery/javascript选择器的最佳实践
- 如果指令包含在另一个指令中,我如何在隔离范围内添加双向数据绑定属性
- 了解孤立范围内的角度和山雀()()
- 了解范围内的每个功能