showOrHide函数将返回true。
我使用alert和console.log函数测试了这段代码,但是如果我想将这段代码测试成ng-show或ng-hide指令,它就不会工作了。我无法理解这个问题。
Sum:函数返回false,如果我点击某个链接则返回true 但真实和错误在ng-show中不起作用。
angular.js文件
$scope.showOrHide = function (value) {
if (typeof value !== 'undefined')
{
return alert(true);
//console.log("true");
//return true;
}else {
return alert(false);
//console.log("false");
//return false;
}
};
$scope.projectId = $stateParams.projectId;
$scope.showOrHide($stateParams.projectId);

html文件
<tr ng-repeat="n in data.projects track by $index"
ng-href="@{{n.id}}"
ui-sref="goTo({ projectId: n.id })">
<td>@{{n.project_code}}</td>
<td>@{{n.project_name}}</td>
<td class="text-primary">will add</td>
<td class="text-primary">will add</td>
<td class="text-primary">@{{n.status}}</td>
<td ng-show="showOrHide">test</td>
</tr>
&#13;
答案 0 :(得分:1)
您1.hour.ago
基于函数而非变量,因此您需要将其作为函数编写。
HTML:
Time.now
JS:
ng-show
答案 1 :(得分:1)
如果我理解了你想要实现的目标(仅在$ stateParams.projectId存在时显示该元素),你可以使用你已经设置的变量,所以删除函数和只需使用以下内容:
cotroller:
app.controller('myController', function( $scope, $stateParams) {
// other code here...
$scope.projectId = $stateParams.projectId || false;
});
视图:
<tr ng-repeat="n in data.projects track by $index"
ng-href="@{{n.id}}"
ui-sref="goTo({ projectId: n.id })">
<td>@{{n.project_code}}</td>
<td>@{{n.project_name}}</td>
<td class="text-primary">will add</td>
<td class="text-primary">will add</td>
<td class="text-primary">@{{n.status}}</td>
<td ng-show="projectId">test</td>
</tr>
答案 2 :(得分:1)
我放弃所有解决方案,因为这些都没有用,所以我没有修改我的代码。我改变了所有这些。
这是解决方案。
JS档案
$scope.checkThis = true;
$scope.isShow = function (number) {
return number;
};
$scope.toFalse = function () {
$scope.checkThis = false;
};
$scope.toTrue = function () {
$scope.checkThis = true;
};
HTML文件
<tr ng-repeat="n in data.projects track by $index"
ng-href="@{{n.id}}"
ui-sref="goTo({ projectId: n.id })">
<td>@{{n.project_code}}</td>
<td>@{{n.project_name}}</td>
<td class="text-primary">will add</td>
<td class="text-primary">will add</td>
<td class="text-primary">@{{n.status}}</td>
<td class="text-primary" ng-click="toFalse()"
ng-show="isShow(checkThis)">test</td>
</tr>
我认为这很简单。我反过来浪费了3个小时。
答案 3 :(得分:0)
创建结果变量,如:
$scope.toShowOrToHide = $scope.showOrHide($stateParams.projectId);
和HTML:
<td ng-show="toShowOrToHide">test</td>
并且JS没有警报地返回:
$scope.showOrHide = function (value) {
return (typeof value !== 'undefined');
};
编辑:
$scope.toShowOrToHide = function() {
return $scope.showOrHide($stateParams.projectId);
);
和HTML:
<td ng-show="toShowOrToHide()">test</td>
你可能已经决定了什么适合你......
答案 4 :(得分:0)
第一
$scope.stateParams = $stateParams;
然后
ng-show="stateParams.projectId"
当参数更改时,不需要任何功能并且值会自动更新。