Javascript 使用&;从隔离作用域调用表达式;不直接工作

Javascript 使用&;从隔离作用域调用表达式;不直接工作,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我对Angular很陌生,所以我很确定我在这里遗漏了一些东西。 我刚刚读了一篇关于独立作用域的文章,其中的表达式特别使用&symbol 这是一把小提琴,其中包括一把小提琴 我正在尝试做一些更简单的事情,我想使用一个函数,但不想使用按钮进行调用,我想直接调用函数。我将fiddle中的代码缩减为,但它没有效果,函数没有被调用,或者它没有按照我的预期执行 如果我取消注释行#12,则会显示“Hello”,如果显示“comment”,则我希望文本框中会显示“as”,但它会被清除。我错过了什么 谢谢 顺便说

我对Angular很陌生,所以我很确定我在这里遗漏了一些东西。 我刚刚读了一篇关于独立作用域的文章,其中的表达式特别使用&symbol

这是一把小提琴,其中包括一把小提琴

我正在尝试做一些更简单的事情,我想使用一个函数,但不想使用按钮进行调用,我想直接调用函数。我将fiddle中的代码缩减为,但它没有效果,函数没有被调用,或者它没有按照我的预期执行

如果我取消注释行#12,则会显示“Hello”,如果显示“comment”,则我希望文本框中会显示“as”,但它会被清除。我错过了什么

谢谢

顺便说一句,我似乎不能使剪断的工作,但小提琴工作良好

var myModule=angular.module('myModule',[])
.directive('myComponent',function(){
返回{
限制:'E',
范围:{
isolatedExpressionFoo:“&”
}
};
})
.controller('MyCtrl',['$scope',函数($scope){
$scope.foo='Hello!';
//$scope.isolatedExpressionFoo();
$scope.updateFoo=函数(){
$scope.foo='as';
}
}]);

控制器的$scope和指令是两个不同的范围。控制器$scope无法访问
isolatedExpressionFoo
功能

要立即调用提供给指令的函数(从指令内部),您需要为所述指令实现一个控制器

例如

var myModule = angular.module('myModule', [])
    .directive('myComponent', function () {
        return {
            restrict:'E',
            scope:{
                isolatedExpressionFoo:'&'
            },
            controller: function($scope){
                $scope.isolatedExpressionFoo();
            }
        };
    })
    .controller('MyCtrl', ['$scope', function ($scope) {
        $scope.foo = 'Hello!';

        $scope.updateFoo = function () {
            $scope.foo = 'as';
        }
    }]);