Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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 角JS中的$q问题_Javascript_Angularjs - Fatal编程技术网

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;