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