我被困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更新?
答案 0 :(得分:0)
如果您想避开服务,可以使用以下事件:$rootScope.$broadcast
(或$ emit)和$scope.$on
。