0
我想从控制器传递一个方法到我的指令。这是我如何做它:AngularJS指令:'&'在隔离范围内没有按预期工作
在控制器:
$scope.getEmployees = function()
{
return {2: 'Jane', 3: 'Bob', 4: 'Smith'};
}
$scope.getSelected = function()
{
return 3;
}
在视图/ HTML:
<mydirective data-placeHolder="Choose an employee.."
data-getOpts="getEmployees()" data-getSelected="getSelected()" />
在指令:
var dir =
{
restrict: 'E',
templateUrl : 'views/mydirective.html',
scope: {
placeholder: '@',
getSelected: '&',
getOpts: '&'
},
controller: ['$scope', '$element', '$attrs',
function($scope, $element, $attrs)
{
console.log($scope.getOpts());
}],
};
MyApp.directive('mydirective', function()
{
return dir;
});
然而,指令控制器中的以下行:
console.log($scope.getOpts());
产生未定义的而不是返回控制器的getEmployees()
函数中设置的对象或函数。
我在做什么错?
@ClickUpvote LOL。我喜欢那个视频......龙珠岩石! – zsong