我是新来角度如此道歉,如果我在这里丢失了一个简单的概念。我用很多指令开发了我的应用程序,以放入我的网站的各个部分。他们有一个模板和一个控制器,我在直接分配控制器。我打算到现场通过指令附加angularjs控制器不分配class =“ng-scope”
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<ng-blah-logo></ng-blah-logo>
</div>
<div class="navbar-collapse collapse">
<ng-blah-login></ng-blah-login>
</div>
<!--/.navbar-collapse -->
</div>
</div>
<ng-blah-marketplace-form></ng-blah-marketplace-form>
的JS是(我认为是)非常直截了当上,使用其他地方这些位:
var ngBlahMarketplaceFormCtrl = function($scope) {
console.log($scope)
$scope.form.name = ''
$scope.form.phone = ''
$scope.form.firm = ''
$scope.form.brief = ''
$scope.submit = function(){
console.log('ngBlahMarketPlaceFormCtrl::submit()')
console.log($scope.form)
}
}
app.directive('ngBlahMarketplaceForm', function() {
return {
restrict: 'E'
, transclude: true
, replace: true
, templateUrl: '/resources/ngViews/marketplaceForm.html'
, controller: 'ngBlahMarketplaceFormCtrl'
};
});
var ngBlahLoginCtrl = function($scope) {
console.log($scope)
$scope.default = {}
$scope.default.username = 'username' ;
$scope.default.password = 'password';
$scope.form = _.clone($scope.default) ;
$scope.submit = function() {
console.log('ngBlahLoginCtrl::submit()')
}
$scope.help = function() {
console.log('ngBlahLoginCtrl::help()')
}
}
// login form and the controller to logic
app.directive('ngBlahLogin', function() {
return {
restrict: 'E'
, transclude: true
, replace: true
, controller: 'ngBlahLoginCtrl'
, templateUrl: '/resources/ngViews/loginThin.html'
};
});
行,所以我有这个问题是,只有一个范围正在创建。当我调查DOM时,具有class =“ng-scope”的唯一元素是Body标签。我做了什么来获得这种行为?我是否需要发布更多代码来协助完成此任务?
预先感谢您!
编辑:js小提琴:http://jsfiddle.net/U5UxX/ JS小提琴里面可以看到两个日志到两个不同的控制器内的控制台。两次它都记录范围变量,并且在两种情况下scope.id都是一样的
编辑:澄清问题,即我的两个控制器共享相同的$ scope变量。按照预期,页面“呈现”(HTML)。出于某种原因,具有class =“ng-scpoe”属性的唯一元素是body标签(它也包含ng-app属性)。
再次感谢
请邮寄或拨弄到Plunker帮助我们发现问题。谢谢 –
小提琴它是:http://jsfiddle.net/U5UxX/ – akaphenom