AngularJS:我不能在ng-click上设置变量值吗?

jgr*_*ois 52 angularjs

我有一个使用ng-show ="prefs"来确定可见性的模态.

我的愿望是使用模态中的关闭按钮将$ scope.prefs设置为false并使用锚标记将值设置为true.但是,我在谷歌上找到的所有内容都使用复选框而不是锚标签.

有没有办法使用ng-click将变量设置为false?

tym*_*eJV 90

做就是了:

ng-click="prefs = false"
Run Code Online (Sandbox Code Playgroud)

  • @AshokGujjar - `ng-click ="prefs = false; refr = true;"` (8认同)
  • 这对我来说不起作用,只能在控制器中执行(参见msarchets的答案).知道为什么会这样吗? (7认同)
  • @ChristianNilsson - 可能是范围继承问题,请阅读:https://github.com/angular/angular.js/wiki/Understanding-Scopes - 它绝对值得. (7认同)
  • @Blauhirn有同样的问题.我不知道为什么,但是当我使用一个对象时它起作用.`ng-click ="foobar.prefs = false"` (2认同)

msa*_*het 23

虽然@tymeJV给出了正确的答案,但是使用angular进行内联的方法是:

ng-click="hidePrefs()"

然后在你的控制器中:

$scope.hidePrefs = function() {  
  $scope.prefs = false;
}
Run Code Online (Sandbox Code Playgroud)