Javascript angularjs ng click can';是否不更改$scope变量?

Javascript angularjs ng click can';是否不更改$scope变量?,javascript,angularjs,Javascript,Angularjs,我很困惑我有一个控制器看起来像这样 angular.module('publicRegApp') .controller('CompanyNameController', function ($scope) { $scope.title = 'Title One'; $scope.onSearch = function(){ console.log("clicked"); $scope.title = "Title Two"; }

我很困惑我有一个控制器看起来像这样

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不会更改。我很困惑,请帮助:-(

我猜您的{{title}}in模板超出了控制器的范围。我强烈建议您检查;)

$scope.$apply是一个非常糟糕的建议,它没有做你认为它在做的事情

------------编辑---------

请检查一下这个箱子


我猜模板中的{{title}}超出了控制器的范围。我强烈建议您检查一下;)

$scope.$apply是一个非常糟糕的建议,它没有做你认为它在做的事情

------------编辑---------

请检查一下这个箱子


不完全确定原因,但有

<button type="submit">

这就是问题所在。改为

<button type="button">

修好了


然后我意识到我可能应该在按钮的父元素上使用ng submit,这也解决了问题(只要我将按钮保留为submit,当然)

不完全确定原因,但有

<button type="submit">

这就是问题所在。改为

<button type="button">

修好了


然后我意识到我可能应该在按钮的父元素上使用ng submit,这也解决了问题(当然,只要我将按钮保留为submit)

如果您注意以下事项,它就会工作:

  • 确保您在某处有
    ng app=“publicRegApp”
  • 将Javascript从
    angular.module(“publicRegApp”)
    更正为
    angular.module(“publicRegApp”,[])
    表示您没有 依赖于其他角度模块
  • 确保
    {{title}
    在控制器范围内

  • 下面是一个工作示例:

    如果您处理好这些事情,它就会起作用:

  • 确保您在某处有
    ng app=“publicRegApp”
  • 将Javascript从
    angular.module(“publicRegApp”)
    更正为
    angular.module(“publicRegApp”,[])
    表示您没有 取决于其他角度模块
  • 确保
    {{title}
    在控制器范围内

  • 下面是一个工作示例:

    在视图中插入的标题在哪里?你如何判断它没有改变?检查你的标题,就像{{title}}一样包装它。{{title}}包含在视图中,我通过模块配置分配视图和控制器$routeProvider-{{title}在加载页面时设置良好,但在单击时不会改变?更改
    type=“submit”
    type=“button”
    感谢Vicky提出的建设性意见。您的观点中插入了什么标题?你如何判断它没有改变?检查你的标题,就像{{title}}一样包装它。{{title}}包含在视图中,我通过模块配置分配视图和控制器$routeProvider-{{title}在加载页面时设置良好,但在单击时不会改变?更改
    type=“submit”
    type=“button”
    谢谢Vicky的建设性评论
    我猜你的{{title}}in模板超出了controller的范围。我强烈建议检查它
    然后如何第一次工作?嘿,谢谢你的回复,我不确定{{title}}怎么会超出范围,因为它被设置为“title One”。问题是它不会更新为'Title Two'?@user1803975你有没有尝试过这个{{Title}我用plunker编辑过帖子,它似乎有效,请检查它
    我猜你的{{Title}in模板超出了控制器的范围。我强烈建议检查它
    然后如何第一次工作?嘿,谢谢你的回复,我不确定{{title}}怎么会超出范围,因为它被设置为“title One”。问题是它不会更新为“Title Two”?@user1803975你试过这个{{Title}吗?我用plunker编辑过这篇文章,它似乎有效,请在你选择
    时检查它