0
我需要在一個angularjs單頁面應用程序中使用google-places自動完成輸入,該輸入應作爲服務運行,並且應在運行時初始化一次。在導航的情況下,帶有goolge-places初始化元素和適當範圍被破壞。在頁面導航後重復使用google-places自動完成輸入
我會重新使用的地方輸入域後,瀏覽到包含地方自動完成輸入字段的頁面。用方法element.replaceWith()
它運作良好。
更換元件後,我不能由「復位」按鈕復位輸入。我怎樣才能將新生成的範圍綁定到「重置」按鈕和舊的範圍變量。因爲舊的範圍和元素被導航事件摧毀了?
.factory('myService', function() {
var gPlace;
var s, e;
var options = {
types: [],
componentRestrictions: {country: 'in'}
};
function init() {
}
function set(element, scope) {
console.log('set');
if (!gPlace) {
e = element;
gPlace = new google.maps.places.Autocomplete(element[0], options);
google.maps.event.addListener(gPlace, 'place_changed', function() {
scope.$apply(function() {
scope.place.chosenPlace = element.val();
});
});
} else {
element.replaceWith(e);
}
}
init();
return {
'init':init,
'set':set
};
});
導航(元件和範圍的破壞)將在此普拉克由ng-if
指令將由「去除」按鈕來觸發來模擬。
感謝您的幫助,但我不會拯救最後的地方。我必須每次重複使用地點輸入而不重複初始化。 – usher