Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度,函数返回true,但ng show won';行不通_Javascript_Angularjs_Angularjs Directive_Ng Show - Fatal编程技术网

Javascript 角度,函数返回true,但ng show won';行不通

Javascript 角度,函数返回true,但ng show won';行不通,javascript,angularjs,angularjs-directive,ng-show,Javascript,Angularjs,Angularjs Directive,Ng Show,如果单击链接,showOrHide函数将返回true 我使用alert和console.log函数测试了这段代码,它是有效的,但是如果我想将这段代码测试为ng show或ng hide指令,它将不起作用。我不明白这个问题 Sum:函数返回false,如果我单击某个链接,它将返回true 但真假在ng秀中是行不通的 angular.js文件 $scope.showOrHide=函数(值){ 如果(值的类型!==“未定义”) { 返回警报(真); //console.log(“真”); //返回tr

如果单击链接,showOrHide函数将返回true

我使用alert和console.log函数测试了这段代码,它是有效的,但是如果我想将这段代码测试为ng show或ng hide指令,它将不起作用。我不明白这个问题

Sum:函数返回false,如果我单击某个链接,它将返回true 但真假在ng秀中是行不通的

angular.js文件
$scope.showOrHide=函数(值){
如果(值的类型!==“未定义”)
{
返回警报(真);
//console.log(“真”);
//返回true;
}否则{
返回警报(假);
//控制台日志(“假”);
//返回false;
}
};
$scope.projectId=$stateParams.projectId;

$scope.showOrHide($stateParams.projectId)
ng show
基于函数而非变量,因此您需要将其作为函数编写

HTML:


ng show
基于函数而非变量,因此需要将其作为函数编写

HTML:


创建结果变量,如:

$scope.toShowOrToHide = $scope.showOrHide($stateParams.projectId);
和HTML:

<td ng-show="toShowOrToHide">test</td>
编辑:

$scope.toShowOrToHide = function() {
    return $scope.showOrHide($stateParams.projectId);
);
和HTML:

<td ng-show="toShowOrToHide()">test</td>
测试

您可能已经决定了什么适合您….

创建结果变量,如:

$scope.toShowOrToHide = $scope.showOrHide($stateParams.projectId);
和HTML:

<td ng-show="toShowOrToHide">test</td>
编辑:

$scope.toShowOrToHide = function() {
    return $scope.showOrHide($stateParams.projectId);
);
和HTML:

<td ng-show="toShowOrToHide()">test</td>
测试

您可能已经决定了什么适合您……

如果我了解您想要实现的目标(仅当$stateParams.projectId存在时才显示元素),您可以只使用您已经设置的变量,因此删除函数并只使用以下内容:

合作伙伴:

app.controller('myController', function( $scope, $stateParams) {

  // other code here...

  $scope.projectId = $stateParams.projectId || false;
});
视图:


@{{n.project_code}
@{{n.project_name}
将添加
将添加
@{{n.status}}
测试

如果我了解您想要实现的目标(仅当$stateParams.projectId存在时才显示元素),您可以使用已经设置的变量,因此删除函数并使用以下命令:

合作伙伴:

app.controller('myController', function( $scope, $stateParams) {

  // other code here...

  $scope.projectId = $stateParams.projectId || false;
});
视图:


@{{n.project_code}
@{{n.project_name}
将添加
将添加
@{{n.status}}
测试

我放弃了所有的解决方案,因为它们不起作用,所以我没有修改我的代码。我把它们都换了

这是解决办法

JS文件

HTML文件


@{{n.project_code}
@{{n.project_name}
将添加
将添加
@{{n.status}}
测试

我认为这是一个简单的方法。我以另一种方式浪费了3个小时。

我放弃了所有的解决方案,因为它们不起作用,所以我没有修改我的代码。我把它们都换了

这是解决办法

JS文件

HTML文件


@{{n.project_code}
@{{n.project_name}
将添加
将添加
@{{n.status}}
测试
我认为这是一个简单的方法。我以另一种方式浪费了3个小时。

首先

$scope.stateParams = $stateParams;
然后

无需函数,参数更改时值自动更新。

首先

$scope.stateParams = $stateParams;
然后


无需函数,参数更改时值会自动更新。

它没有显示任何数据,但我单击了一个链接以更改返回值,但没有更改。我不明白为什么会发生这种情况。它没有显示任何数据,但我单击了一个链接以更改返回值,但它没有更改。我不明白为什么会发生这种事这不好。您希望在每个摘要中检查ng show(或者您不应该使用ng show)。此示例在$stateParams.projectId更改时不会显示元素。这不好。您希望在每个摘要中检查ng show(或者不应该使用ng show)。当$stateParams.projectId更改时,此示例将不显示元素。
ng-show="stateParams.projectId"