定义控制器内部指令或简单控制器之间的区别

时间:2016-07-14 10:25:02

标签: angularjs

我是angularjs的新手。我在angularjs.中定义控制器时有一个问题。在Angular中我们可以定义控制器,如:

app.controller('demo', function (){

})

或在指令中我们可以定义

.directive('component', function() {
    return {
        scope: true,
        require: '^screen',
        controller: function($scope) {
            this.componentFunction = function() {
                $scope.screenCtrl.doSomethingScreeny();
            }
        },
        link: function(scope, element, attrs, screenCtrl) {
            scope.screenCtrl = screenCtrl
        }
    }
})

两个控制器之间有什么区别。

2 个答案:

答案 0 :(得分:0)

这两个实现之间的区别在于控制器可以访问的范围。你的演示" controller可以访问分配它的范围,例如在路由或DOM元素中。指令控制器只能访问您的指令。

除了这两个控制器可以访问的范围之外,没有区别。

答案 1 :(得分:0)

实现之间存在差异

普通控制器将以静态方式附加到DOM,而指令中的控制器可以在需要发生的情况下动态添加。指令中的控制器还提供单独的元素范围,这些元素将被绑定到已实现控制器的DOM的特定部分。 / p>