我有一个非常奇怪的问题。出于某种原因,我的ng模型只有在我将同一个控制器嵌套两次时才会受到限制。这是我的代码:
索引页:
bbmean_app.controller('mainController', function($scope, $location, mainFactory){
$scope.test='hello';
$scope.currentUser = {};
$scope.login = function(){
console.log($scope.name)
}
<body>
<div ng-controller='mainController'>
<div ng-view =""></div>
</div>
</body>
查看页面:
<form>
{{test}}
<p>Your name:<input type = 'text' ng-model='name' ></p>
<button type = 'submit' ng-click ='login()'>Login</button>
</form>
所以我的所有视图都应该有一个mainController作为控制器,它在视图页面上显示'hello'意味着它可以显示测试(这意味着连接到控制器)但是当我单击我的提交按钮时,控制台日志是未定义的。它只有在我的控制器被召回时才有效:
<div ng-controller = 'mainController'>
<form>
{{test}}
<p>Your name:<input type = 'text' ng-model='name' ></p>
<button type = 'submit' ng-click ='login()'>Login</button>
</form>
</div>
我的html周围有ng-app,我的代码中也有正确的头标记。 有什么想法吗?
答案 0 :(得分:0)
我认为这就是你解决这个问题的方法,
.when('/', {
templateUrl: 'js/views/index.html',
replace: true,
controller: 'mainController',
})
通过在路线中声明控制器,您可以通过以下方式访问$scope.name
$scope.login = function() {
var name = $scope.name;
console.log(name);
};
没有在视图中引导/嵌套mainController
。