2

来自 Angular文档

& 或 &attr - 提供一种在父作用域的上下文中执行表达式的方法。如果未指定 attr 名称,则假定属性名称与本地名称相同。给定范围的小部件定义:{ localFn:'&myAttr'},则隔离范围属性 localFn 将指向 count = count + value 表达式的函数包装器。

这给我的印象是这样的事情应该是可能的,但它不起作用。我究竟做错了什么?

myApp.directive('test', function () {
return {
    restrict: 'E',
    replace: true,
    template: '<div><input type="button" ng-click="thefunc()" value="{{title}}"/></div>',
    scope: {
        title: '@',
        thefunc: '&'
    }
};});

HTML:

<test thefunc="alert('Here you go.')" title="Click me for a popup"/>

小提琴

4

1 回答 1

3

Angular 正在寻找控制器范围内的“警报”——

$scope.alert = function(){..}

而不是 window.alert

这是一个更新的版本:

http://jsfiddle.net/3CxtZ/4/

于 2013-03-14T19:43:40.267 回答