Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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只执行一次?_Javascript_Knockout.js - Fatal编程技术网

为什么这个Javascript只执行一次?

为什么这个Javascript只执行一次?,javascript,knockout.js,Javascript,Knockout.js,以下是相关代码: 这段代码是一个视图(位于父页面占位符中的部分视图),我让这个视图的控制器执行了9次。当我不使用knockout.js时,它可以正常工作。。。但将其放入淘汰模板中,它似乎只执行一次。我错过了什么 @using (Html.BeginFooterScripts()) { <script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"><

以下是相关代码:

这段代码是一个视图(位于父页面占位符中的部分视图),我让这个视图的控制器执行了9次。当我不使用knockout.js时,它可以正常工作。。。但将其放入淘汰模板中,它似乎只执行一次。我错过了什么

@using (Html.BeginFooterScripts())
 {


     <script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"></script>
     <script type="text/javascript" src="/Content/Northwestern/js/_libs/knockout.mapping/knockout.mapping.2.4.1.js"></script>
     <script type="text/javascript" src="~/Content/Northwestern/js/views/TabPanel/location-card.js"></script>
     <script type="text/javascript">
         var once = true;
         $(function() {
             if (once) {

                 initialize();
                 once = false;
             }
         });

     </script>

     <script>

         $(function() {
             geoLocate(function(location) {
                 var latitude = location.coords.latitude;
                 var longitude = location.coords.longitude;
                 displayLocation('@Model.LocationId', latitude, longitude);

             });

         });

     </script>
 }
以下是应呈现9次的标记:

   <div class="row">
        <div class="col lg-6 xl-5">
            <div class="section-content">
                <div id="detail-container">
                </div>
            </div> 

            <script type="text/html" id="location-detail-template"> 
                <div class="card card-locations-alt">
                    <div class="card-content">
                        <figure class="map">
                            <a target="_blank" href="https://www.google.com/maps/dir/Current+Location/@Model.Location.Latitude, @Model.Location.Longitude">
                                <img src="https://maps.googleapis.com/maps/api/staticmap?center=@Model.Location.Latitude,@Model.Location.Longitude&zoom=13&size=65x65&maptype=roadmap&markers=color:0x776EA7%7Clabel:%7C @Model.Location.Latitude,@Model.Location.Longitude">
                            </a>
                        </figure>
                        <div class="location-content" itemscope="" itemtype="http://schema.org/LocalBusiness">
                            <div class="location-name">
                                <h2 class="location-title" itemprop="name" data-bind="text: ItemName"></h2>
                            </div>
                            <div class="distance">
                                <i class="material-icons">place</i> <span data-bind="text: Distance.toFixed(1)"> Mi</span>
                            </div>
                            <div class="location-phone">
                                <a data-bind="attr: { 'href': clickToCallify(Phone), 'data-track-event': 'Find a Location - Detail', 'data-track-action': 'call icon' }" class="tel" itemprop="telephone"></a>
                            </div>
                        </div>
                        <div class="location-actions flex-container align-center no-print">
                            <a class="locations-icon flex-item tel" href="tel:8475358000">
                                <div class="call-icon uppercase">
                                    <i class="material-icons">phone</i><br>
                                    call
                                </div>
                            </a>
                            <a data-bind="attr: {'href' : 'https://www.google.com/maps/dir/Current+Location/' + Latitude + ',' + Longitude, 'data-track' : 'Find a Location', 'data-track-action' : 'directions', 'data-track-label' : ItemName }" target="_blank" class="locations-icon flex-item uppercase">
                                <i class="material-icons">directions</i><br>
                                directions
                            </a>
                            <a href="" class="location-detail locations-icon flex-item uppercase">
                                <i class="material-icons">info</i><br>
                                details
                            </a>
                        </div>
                    </div>

                </div>

            </script> 

        </div>
        <div class="col lg-6 xl-7">

            @(new HtmlString(Model.Body))

        </div>

    </div>

米广场
@(新HtmlString(车身模型))

你怎么知道它只执行一次?因为我在Debugger中运行了它,你观察到了什么?让我们这样说吧。。。它可能会运行9次,但它只渲染最后一次。如果查看HTML源代码,您只会看到上面的代码渲染一次?
   <div class="row">
        <div class="col lg-6 xl-5">
            <div class="section-content">
                <div id="detail-container">
                </div>
            </div> 

            <script type="text/html" id="location-detail-template"> 
                <div class="card card-locations-alt">
                    <div class="card-content">
                        <figure class="map">
                            <a target="_blank" href="https://www.google.com/maps/dir/Current+Location/@Model.Location.Latitude, @Model.Location.Longitude">
                                <img src="https://maps.googleapis.com/maps/api/staticmap?center=@Model.Location.Latitude,@Model.Location.Longitude&zoom=13&size=65x65&maptype=roadmap&markers=color:0x776EA7%7Clabel:%7C @Model.Location.Latitude,@Model.Location.Longitude">
                            </a>
                        </figure>
                        <div class="location-content" itemscope="" itemtype="http://schema.org/LocalBusiness">
                            <div class="location-name">
                                <h2 class="location-title" itemprop="name" data-bind="text: ItemName"></h2>
                            </div>
                            <div class="distance">
                                <i class="material-icons">place</i> <span data-bind="text: Distance.toFixed(1)"> Mi</span>
                            </div>
                            <div class="location-phone">
                                <a data-bind="attr: { 'href': clickToCallify(Phone), 'data-track-event': 'Find a Location - Detail', 'data-track-action': 'call icon' }" class="tel" itemprop="telephone"></a>
                            </div>
                        </div>
                        <div class="location-actions flex-container align-center no-print">
                            <a class="locations-icon flex-item tel" href="tel:8475358000">
                                <div class="call-icon uppercase">
                                    <i class="material-icons">phone</i><br>
                                    call
                                </div>
                            </a>
                            <a data-bind="attr: {'href' : 'https://www.google.com/maps/dir/Current+Location/' + Latitude + ',' + Longitude, 'data-track' : 'Find a Location', 'data-track-action' : 'directions', 'data-track-label' : ItemName }" target="_blank" class="locations-icon flex-item uppercase">
                                <i class="material-icons">directions</i><br>
                                directions
                            </a>
                            <a href="" class="location-detail locations-icon flex-item uppercase">
                                <i class="material-icons">info</i><br>
                                details
                            </a>
                        </div>
                    </div>

                </div>

            </script> 

        </div>
        <div class="col lg-6 xl-7">

            @(new HtmlString(Model.Body))

        </div>

    </div>