在AngularJS中将控制器添加到动态构造的div中

时间:2014-11-05 14:51:14

标签: javascript jquery html css angularjs

我正在尝试将控制器添加到角度动态构造的div中。但是,控制器似乎没有加载,我无法向点击功能添加相应的事件。

在下面的示例中,我在一个名为' employeeTableCtrl'的单独父控制器中构建此div。在父控制器内,当用户点击“更多信息”时,按钮,新的divs构建。在这个孩子的容器中我想要附加一个新的控制器。

$scope.moreInfo = function(employee) {
    $("<div class='employeeWindow' ng-controller='employeeWindowCtrl'> " +
                "<button class='closeButton' ng-click='close()'> x </button> </div>".appendTo("#employees");      
    }

在单独的控制器中我有:

.controller('employeeWindowCtrl', [
    '$scope', function ($scope) {
        $scope.close = function() {
            alert('clicked the x');
        }
    }
])

div正在构建正确,但是&#39; employeeWindowCtrl&#39;没有附加,以便我的点击()&#39;功能没有被执行。

有没有人有任何提示?也许我接近这一切都错了?

谢谢

1 个答案:

答案 0 :(得分:0)

你正在寻找的是一个指令 - 一大块html,通过链接功能有一种私人控制器。在单独的模板中创建指令,在指令的链接功能中放置控制器功能(如果它确实适用于控制器),并使用ng-show显示单击。如果我们有更多的代码可以玩,我可以给出一个更好的例子。

https://docs.angularjs.org/guide/directive