Javascript 在我的js函数执行之前加载HTML

Javascript 在我的js函数执行之前加载HTML,javascript,angularjs,Javascript,Angularjs,如果是我的控制器,我有一个函数将true设置为变量 function setShow() { return this.isShow === 'Foo'; } 我的这个,怎么叫“Foo” 在我的模板中,我有Hi 但在我的js函数执行之前,HTML加载似乎是这样的?我不知道如何处理这个案子。我经常面临这个问题。来自: 如果表达式 计算结果为false 如果If语句的计算结果为true,则添加元素的副本 在DOM中 您的函数的计算结果不是真的,这就是为什么不显示div。尝试从函数返回true 编

如果是我的控制器,我有一个函数将true设置为变量

function setShow() {
  return this.isShow === 'Foo';
}
我的这个,怎么叫“Foo”

在我的模板中,我有
Hi

但在我的js函数执行之前,HTML加载似乎是这样的?我不知道如何处理这个案子。我经常面临这个问题。

来自:

如果表达式 计算结果为false

如果If语句的计算结果为true,则添加元素的副本 在DOM中

您的函数的计算结果不是真的,这就是为什么不显示div。尝试从函数返回true

编辑:现在您编辑了文章,问题似乎是函数不在$scope中,ng中有一个奇怪的vm,如果它可能不在那里的话。

您可以尝试以下方法:

在angularjs中: 但是$timeout服务应该被注入到您的控制器中

 $timeout(function(){
// write your logic here
 },100);
这将在HTML文档准备就绪时触发。 在超时时间内调用函数

或者在JavaScript中,您可以使用:

   Settimeout(function(){
   //write here
  },100);

您没有在$scope中声明setShow函数。我认为ng if指令没有找到函数,它解释为false
试试

angular.module(“myApp”,[]).controller(“myCtrl”,函数($scope){
var isShow=“Foo”;
$scope.setShow=函数(){
返回isShow==“Foo”;
}
});

你好

if函数不应有副作用。请添加完整控制器并查看。确定。让我问一下,是先加载模板,还是先加载JS函数?问题是什么?另外,ng if应该是返回true/false的表达式。例如,ng if=“isShow”@JinnaBalu您完全可以使用ng if直接调用方法