我很困惑,我有一个看起来像这样的控制器..
angular.module('publicRegApp')
.controller('CompanyNameController', function ($scope) {
$scope.title = 'Title One';
$scope.onSearch = function(){
console.log("clicked");
$scope.title = "Title Two";
}
});
在我的模板中我有:
<button type="submit" class="btn btn-default" ng-click="onSearch()">Search</button>
当我单击按钮时,控制台日志会被触发但$ scope.title不会更改。我很困惑请帮忙: - (
答案 0 :(得分:3)
如果你照顾这些东西,它会起作用:
ng-app="publicRegApp"
某处angular.module("publicRegApp")
更正您的Javascript
angular.module("publicRegApp", [])
表示你不这样做
取决于其他角度模块。{{title}}
在控制器范围内以下是工作示例:http://jsbin.com/xotaf/5/edit
答案 1 :(得分:1)
我的猜测是模板中的{{title}}超出了控制器的范围。我强烈建议检查一下;)
$ scope。$ apply是非常糟糕的建议,它没有做你认为它在做的事情
------------ EDIT ---------
检查这个plunker pls
答案 2 :(得分:1)
不完全确定原因,但
<button type="submit">
是个问题。改为
<button type="button">
修好了。
然后我意识到我应该在按钮的父元素上使用ng-submit,这也修复了问题(只要我将按钮保留为提交当然)