我是新來角度如此道歉,如果我在這裏丟失了一個簡單的概念。我用很多指令開發了我的應用程序,以放入我的網站的各個部分。他們有一個模板和一個控制器,我在直接分配控制器。我打算到現場通過指令附加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