Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 AngularJS:TypeError:无法读取属性';子节点';未定义的_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS:TypeError:无法读取属性';子节点';未定义的

Javascript AngularJS:TypeError:无法读取属性';子节点';未定义的,javascript,angularjs,Javascript,Angularjs,我有一个控制器,里面有两个切换按钮,可以相应地显示视图。控制器中显示的两种类型的视图由$scope.isStore变量控制,该变量是html部分中的决定因素 但是,一旦我切换了应该更改的部分,它就会变为空白,我会得到以下错误 angular.js:13424 TypeError: Cannot read property 'childNodes' of undefined at nodeLinkFn (angular.js:9017) at compositeLinkFn (angular.js

我有一个控制器,里面有两个切换按钮,可以相应地显示视图。控制器中显示的两种类型的视图由
$scope.isStore
变量控制,该变量是
html
部分中的决定因素

但是,一旦我切换了应该更改的部分,它就会变为空白,我会得到以下错误

angular.js:13424 TypeError: Cannot read property 'childNodes' of undefined
at nodeLinkFn (angular.js:9017)
at compositeLinkFn (angular.js:8333)
at compositeLinkFn (angular.js:8336)
at compositeLinkFn (angular.js:8336)
at publicLinkFn (angular.js:8213)
at lazyCompilation (angular.js:8551)
at boundTranscludeFn (angular.js:8350)
at controllersBoundTransclude (angular.js:9072)
at ngIfWatchAction (angular.js:25323)
at Scope.$digest (angular.js:16869)
我试图寻找解决办法,但没有一个对我有效。即使在更改$scope变量时设置
setTimeout
函数,也会给出相同的输出

HTML部分:

        <div id="go-pro" class="storeCoins" ng-if="isPremiumUser==true">
            <span class="coinText">you are Premium User</span>
            <img class="imgPro"  id="feature" ng-src="/app/app_resources/icons/pirate_girl.png" />
        </div>


            <table id="links" class="tab-selector">
                <tr>
                    <td class="tablinks" ng-class="{highlighwallet: isStore==true}" ng-click="walletController.showStore(event)">STORE</td>
                    <td class="tablinks" ng-class="{highlighwallet: isStore==false}" ng-click="walletController.showHistory(event)">TASK HISTORY</td>
                </tr>
            </table>



            <div ng-if="isStore==false">
                <ul>
                    <li class="taskList" ng-click="arbit()">
                        <div class="taskHistoryList" ng-repeat="taskList in mergedTransaction | orderBy:'-Date'">
                            <img  class="taskListImage" ng-src="{{walletController.getImage(taskList)}}">
                            <span ng-show="isCoinBought">{{ taskList.coin_value}}</span>
                        </div>
                    </li>
                </ul>
            </div>


            <div ng-if="isStore==true">
                <packgroup-directive>
                </packgroup-directive>
                 <div ng-controller="WalletController">
                   <outfit-directive></outfit-directive>
                 </div>
                   <h3>GO PRO</h3>
                <div id="go-pro" ng-if="isPremiumUser==false">
                    <img class="feature" ng-click="walletController.onGoPremiumChosen()" id="feature" ng-src="/app/app_resources/language/en/resources/banner.jpg" />

                </div>

            </div>
        </div>
完整控制器JS:


指令的JS:

您知道
ng if
ng show
之间的区别吗

ng如果
值为false时不创建元素

ng show
活动,就像
隐藏一样


所以为了解决您的问题,我认为,您应该将
ng if
更改为
ng show
,或者在“.js”

中控制此问题,您尝试访问childNodes的控制器中存在此问题。提供的Js部件不足以检测确切的问题。请提供更多信息。@Sumithauhan我应该提供控制器的完整JS部分以及正在使用的指令吗?如果可以,请提供。您知道“ng if”和“ng show”之间的区别吗ng if“当元素的值为false时不创建元素”,“ng show”与“hidden”一样处于活动状态。因此,要解决您的问题,我认为,您应该将“ng if”更改为“ng show”或在“.js”@Xenology Oh”中进行控制。这解决了您的问题吗??:听到这个我很高兴!谢谢
walletModel.showStore = function () {
        console.log("ShowStore")
          $scope.isStore = true;
          $scope.$apply();
    }