我是angularjs的新手。
当我点击“Click Me”时,会调用toggle
方法。 test
的值从false更改为true,但ng-hide
未确认test
的新值。
<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
var appX = angular.module('myApp', []);
appX.controller('myCtrl', function($scope){
$scope.test = false;
$scope.toggle = function(){
$scope.test = true;
console.log("toggle is working");
};
});
答案 0 :(得分:3)
test不是表达式,因此请删除大括号
<td><span ng-hide="test">Testing</**strong text**td>
答案 1 :(得分:0)
语法错误。您正在组合表达式绑定和指令绑定。下面的代码应该可行。
将ng-hide="{{test}}
替换为ng-hide-"test"
答案 2 :(得分:0)
ngHide指令根据提供给ngHide属性的表达式显示或隐藏给定的HTML元素。
因为它接受表达式所以不需要大括号!
变化:
ng-hide="{{test}}"
到
ng-hide="test"
如果指令期望string
而不是expression
作为属性值,则需要使用花括号。
更多信息请参阅Angular Docs。
答案 3 :(得分:0)
你不需要告诉你在ng-hide
里面写了一个角度代码,因为它已经是angular指令了,它会自己转移test
变量,所以不需要提供括号在那边。
只需尝试:ng-hide="test"
答案 4 :(得分:0)
一些代码更改:
您忘了关闭</span>
<span ng-hide="test">Testing</span>
从结束**strong text**
元素中删除</td>
。
<td><span ng-hide="test">Testing</span></td>
Sajeetharan建议的屁股,test
不是表达式,因此请删除大括号。
<td><span ng-hide="test">Testing</span></td>
工作演示:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function($scope) {
$scope.test = false;
$scope.toggle = function(){
$scope.test = true;
console.log("toggle is working");
};
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<table>
<tr>
<td><span ng-hide="test">Testing</span></td>
<td><span>hello</span></td>
</tr>
<tr>
<td style="cursor:pointer"><span ng-click="toggle()">Click Me</span></td>
<td><span>hello</span></td>
</tr>
</table>
</div>
&#13;