Javascript 角JS中的$q问题
我有一个面板,在满足条件时显示Javascript 角JS中的$q问题,javascript,angularjs,Javascript,Angularjs,我有一个面板,在满足条件时显示 <tab tabtitle="Servers ({{vm.dataServer}})" showtab="{{vm.dataServer != 0}}"> <recommendationitem type="server"></recommendationitem> </tab> 内部$q虽然vm.dataServer被设置为非零值,但我猜它没有反映出来 为什么? 更新 当我不使用我需要作为需求的一部分使用
<tab tabtitle="Servers ({{vm.dataServer}})" showtab="{{vm.dataServer != 0}}">
<recommendationitem type="server"></recommendationitem>
</tab>
内部$q
虽然vm.dataServer
被设置为非零值
,但我猜它没有反映出来
为什么?
更新
当我不使用我需要作为需求的一部分使用的承诺时,它就起作用了
vm.$onInit = function() {
// var servers = [];
// if($window.localStorage.selectedServers !== undefined)
// servers = JSON.parse($window.localStorage.selectedServers);
// vm.dataServer = servers.length;
// vm.editName = false;
更新2
有趣的是,当我没有声明变量时
vm.$onInit = function() {
//vm.dataServer = 0;
//vm.dataNetwork = 0;
//vm.dataLoadBalancers = 0;
它显示选项卡,但不显示计数,即需要打印vm.dataServer
的选项卡标题中的Server()
。我想这里没有定义。为什么会这样?@trevor这会有什么影响?执行代码块并将vm.dataServer设置为非零值。但这并没有反映在UI中。它仍然保持初始化值0。在我看来,这不是承诺的问题,而是您使用VM的方式。通过查看您的代码,似乎recommendationitem就是该组件,而oninit是为该组件定义的。如果是这种情况,您将无法在父元素(制表符)中访问它。如果您可以放置一个最小的工作代码,这将更有帮助。@Knitesh当承诺不是$onInit函数的一部分时,代码会工作。我可能缺少一些非常基本的东西。如果ng if=“vm.dataserver”
,怎么样?我们希望看到足够的代码,以便重现错误。请阅读更多关于如何做到这一点的信息。
vm.$onInit = function() {
//vm.dataServer = 0;
//vm.dataNetwork = 0;
//vm.dataLoadBalancers = 0;