将函数的结果传递给指令

时间:2013-09-12 17:10:54

标签: angularjs angularjs-directive

我在controllerA中有一个列表 - controllerA还有一个函数,用于确定是否已导入该列表中的项目。我想将这个布尔值传递给每个列出的对象的指令(所以controllerB - 每个对象的控制器 - 可以看看它的对象是否已被导入),但是它没有像我希望的那样工作。

我的HTML中有以下(简化):

<tbody>
    <tr objectpane object="object" objectIsImported="objectIsImported(object)"></tr>
</tbody>

objectIsImported应该将布尔值传递给objectPane实例。

此视图与定义了以下功能的ng-controller(controllerA)配对:

$scope.objectIsImported = function(object) {
    alert("never gets hit");
};

objectpane指令有这个:

aoo.directive('objectpane', ['$log', function ($log) {
return {
    restrict: 'A',
    templateUrl: '/App/objectmanager/objectpane.html',
    scope: {
        object: "=",
        objectIsImported: "="
    },
    controller: 'ObjectPaneController'
};
}]);

在ObjectPaneController(ControllerB)中我有这个:

$scope.alreadyImported = $scope.objectIsImported;  // from scope in directive

问题是来自controllerA的$ scope.objectIsImported没有被击中。我究竟做错了什么?其他所有东西都在控制器/指令之间工作,只是将这个函数结果传递给指令似乎不起作用。

1 个答案:

答案 0 :(得分:1)

属性objectIsImported应使用连字符更改为小写:object-is-imported