在控制器和模块

时间:2015-12-24 09:06:15

标签: angularjs angularjs-scope ionic-framework

我被困4天了。我使用了一个插件Autocomplete,一个AngularJS的指令,它在我的html模板中使用了一个脚本。

我自定义此项以添加一个按钮,如果自动填充找不到任何内容,则可以打开模式以添加其他城市。

<ion-view title=""hide-nav-bar="true" hide-back-button="true" cache-view="false">
  
<script type="text/ng-template" id="/my-custom-template.html" >
              <div class="angucomplete-holder" ng-class="{'angucomplete-dropdown-visible': showDropdown}">
               
                  <div class="angucomplete-row" ng-controller="ShareCtrl" ng-click="selectResult({title: searchStr, originalObject: { name: searchStr, custom: true }})" ng-mouseenter="hoverRow(results.length)" ng-class="{'angucomplete-selected-row': results.length == currentIndex}>

                    <div class="angucomplete-title" ng-click="openModal1()" ng-model="item.cat_id" style="text-align:center;"><i class="ion-plus-circled"></i>  Ajouter un lieu</div>

                </div>
              </div>
</script>

            <div class="item item-input" style="width:100%;overflow: visible;z-index:1000;">

            <div angucomplete-alt id="members"
              placeholder="Lieux"
              pause="100"
              selected-object="item.place"
              remote-url="http://api.formcy.com/v1/search_place?search="
              remote-url-data-field="data"
              title-field="name"
              initial-value="{{nomlieux}}"
              template-url="/my-custom-template.html"
              style="width:95%;"
              /></div>

              
            </div>

 <label class="item item-input">
            <textarea ngMaxlength="180" placeholder="Que vais-je faire cette semaine ?" ng-model="item.title" rows="3"></textarea>
        </label>
       
          <ion-toggle toggle-class="toggle-calm" ng-model="item.private" ng-true-value="1" ng-false-value="0">Name </ion-toggle>

</ion-view>

我使用ng-controller打开我的模态并添加另一个城市,但它不会返回我的控制器ShareCtrl上更新的范围。 但是,函数openModal1()在这个控制器中并且工作正常。

我的控制器

 $scope.add = function(){

   .....code.....

   request.success(function(data, status, headers, config) {

                      
                            $scope.status = "Votre lieux a été ajouté !";                           
                            $scope.item.place_id = data.place_id;
                            console.log($scope.item);
                            $scope.modalCtrl1.hide();
                            
                            
                        });
 
 };

如何在不使用服务的情况下强制进行$ scope.item更新?

1 个答案:

答案 0 :(得分:0)

如果您想避开服务,可以使用以下事件:$rootScope.$broadcast(或$ emit)和$scope.$on