2014-03-04 98 views
1

我在这里莫名其妙我有一个控制器,它看起来像这样..

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

+1

其中视图中的标题注入?你如何得出结论它不会改变?通过包装它像

{{title}}

+1

检查你的标题,我通过模块设置$ routeProvider分配视图和控制器 - {{title}}会被设置很好,当我加载网页,但点击时不会改变? – BKM

+0

的{{title}}会被包含在一个视图中 – user1803975

回答

1

我的猜测是,您的{{title}}在模板的余地控制器之外,我会强烈建议检查它;)

$范围$。应用是非常糟糕的建议,这不是做你认为这是在做

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

检查这个plunker请

http://plnkr.co/edit/0LyUaGWK4J5c9EY74ndw?p=preview

+0

'我的猜测是你的{{title}}模板超出了控制器的范围。我强烈建议检查它然后如何第一次工作? –

+0

嘿,感谢您的回复,我不确定{{title}}如何超出范围,因为它被设置为“Title One”。问题是它不会更新到“标题二”? – user1803975

+0

@ user1803975你有没有试过这种

{{title}}
BKM

1

并不完全知道为什么,但有

<button type="submit"> 

是问题。更改为

<button type="button"> 

固定它。

然后我意识到我或许应该使用(就像我离开的提交过程的按钮长),这也解决了这一问题的按钮的父元素NG提交

+0

eaither您选择 '' 或 '' –

3

它的工作原理,如果你照顾这些事情:

  1. 请确保您有ng-app="publicRegApp"地方
  2. 纠正你的JavaScript angular.module("publicRegApp")angular.module("publicRegApp", [])这表明,你不 依赖于其他角模块。
  3. 确保{{title}}是控制器范围

这里是工作示例:http://jsbin.com/xotaf/5/edit

相关问题