首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-hide不工作

ng-hide不工作
EN

Stack Overflow用户
提问于 2016-12-29 12:44:46
回答 5查看 2.5K关注 0票数 2

我是第一次接触angularjs。当我单击"Click Me“时,将调用toggle方法。test的值从false更改为true,但ng-hide不承认test的新值。

代码语言:javascript
复制
<div ng-app="myApp" ng-controller="myCtrl">
<table>
 <tr>
  <td><span ng-hide="{{test}}">Testing</**strong text**td>
  <td><span>hello</span></td>
 </tr>
 <tr>
  <td style="cursor:pointer"><span ng-click="toggle()">Click Me</td>
  <td><span>hello</span></td>
 </tr>
</table>
</div>

script.js

代码语言:javascript
复制
var appX = angular.module('myApp', []);
appX.controller('myCtrl', function($scope){
   $scope.test = false;
   $scope.toggle = function(){
     $scope.test = true;
     console.log("toggle is working");
   };
});
EN

回答 5

Stack Overflow用户

发布于 2016-12-29 12:47:16

test不是表达式,因此删除花括号,

代码语言:javascript
复制
 <td><span ng-hide="test">Testing</**strong text**td>
票数 3
EN

Stack Overflow用户

发布于 2016-12-29 12:47:47

这是一个语法错误。您正在组合表达式绑定和指令绑定。下面的代码应该可以工作。

ng-hide-"test"替换ng-hide="{{test}}

票数 1
EN

Stack Overflow用户

发布于 2016-12-29 12:48:24

指令根据提供给ngHide属性的表达式显示或隐藏给定的ngHide元素。

因为它接受表达式,所以不需要花括号!

更改:

代码语言:javascript
复制
ng-hide="{{test}}"

代码语言:javascript
复制
ng-hide="test"

如果指令期望string而不是expression作为属性值,则需要使用大括号。

有关更多信息,请参阅Angular Docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41373267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档