Javascript 控制器和指令的作用域有何不同';谁的控制器?
控制器和指令控制器的作用域有什么区别?我很难理解其中的区别,以及我是否应该在DDO中为我的指令创建控制器 下面我有一个定义为MainCtrl的控制器和一个位于child指令内的控制器。当我将$scope记录到控制台时,它们看起来是一样的吗?它们实际上是同一个物体吗Javascript 控制器和指令的作用域有何不同';谁的控制器?,javascript,angularjs,angularjs-directive,angularjs-scope,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,控制器和指令控制器的作用域有什么区别?我很难理解其中的区别,以及我是否应该在DDO中为我的指令创建控制器 下面我有一个定义为MainCtrl的控制器和一个位于child指令内的控制器。当我将$scope记录到控制台时,它们看起来是一样的吗?它们实际上是同一个物体吗 var app = angular.module('plunker', []) .controller('MainCtrl', function($scope) { $scope.first = 'first test'
var app = angular.module('plunker', [])
.controller('MainCtrl', function($scope) {
$scope.first = 'first test'
console.log($scope)
})
.directive('child', function() {
return {
//scope: {},
template: '<div>{{second}}</div>',
controller: function($scope) {
$scope.second = 'second test'
console.log($scope)
}
}
})
var-app=angular.module('plunker',[])
.controller('MainCtrl',函数($scope){
$scope.first='first test'
console.log($scope)
})
.directive('child',function(){
返回{
//作用域:{},
模板:“{second}}”,
控制器:函数($scope){
$scope.second='second test'
console.log($scope)
}
}
})
和HTML
<body ng-controller="MainCtrl">
<child></child>
</body>
阅读这篇文章。这将对你很有帮助
简短的回答是“是”,在directiveok中不使用隔离作用域时,它们是相同的,因此,如果使用隔离作用域,则指令的控制器将与其他控制器完全分离?我强烈建议阅读“是”……某种程度上……指令控制器作用域是一个新的作用域,在隔离时不会继承。因此,在创建指令时,是否最好使用自己的控制器创建它们,还是使用父控制器?