Javascript 如何将commonservice文件中对象的值转换为html
我的htmlJavascript 如何将commonservice文件中对象的值转换为html,javascript,angularjs,Javascript,Angularjs,我的html <div class="col-sm-6"> <div class="form-group" show-errors> <label class="control-label" for="address">Address<span class="error_red">*</span> </label> &
<div class="col-sm-6">
<div class="form-group" show-errors>
<label class="control-label" for="address">Address<span
class="error_red">*</span>
</label>
<input type="text" id="contact_address" ng-change="vm.addGoogleAddress(
'contact_address', vm.contact.addresses[0],'contact')" name="contact_address"
ng-model="vm.contact.address" class="form-control gmaps"
required autocomplete="off" placeholder="Enter a location">
<div ng-messages="vm.form.contactForm.contact_address.$error" role="alert">
<p class="help-block error-text" ng-message="required">Address is required.</p>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label" for="city">City</label>
<input name="city" type="text" disabled="disabled" ng-model="cityname"
id="city" class="form-control">
</div>
</div>
function addGoogleAddress(id, data, scope) {
var places = new google.maps.places.Autocomplete(document.getElementById(id));
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
if (place && place.address_components) {
for (var i = 0; i < (place.address_components.length); i++) {
if (place.address_components[i].types[0] == "locality") {
data.city.key = "1001";
data.city.name = place.address_components[i].long_name.toString();
$rootScope.cityname = data.city.name;
}
}
}
地址*
需要地址
城市
我的公共服务
<div class="col-sm-6">
<div class="form-group" show-errors>
<label class="control-label" for="address">Address<span
class="error_red">*</span>
</label>
<input type="text" id="contact_address" ng-change="vm.addGoogleAddress(
'contact_address', vm.contact.addresses[0],'contact')" name="contact_address"
ng-model="vm.contact.address" class="form-control gmaps"
required autocomplete="off" placeholder="Enter a location">
<div ng-messages="vm.form.contactForm.contact_address.$error" role="alert">
<p class="help-block error-text" ng-message="required">Address is required.</p>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label" for="city">City</label>
<input name="city" type="text" disabled="disabled" ng-model="cityname"
id="city" class="form-control">
</div>
</div>
function addGoogleAddress(id, data, scope) {
var places = new google.maps.places.Autocomplete(document.getElementById(id));
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
if (place && place.address_components) {
for (var i = 0; i < (place.address_components.length); i++) {
if (place.address_components[i].types[0] == "locality") {
data.city.key = "1001";
data.city.name = place.address_components[i].long_name.toString();
$rootScope.cityname = data.city.name;
}
}
}
函数addGoogleAddress(id、数据、范围){
var places=new google.maps.places.Autocomplete(document.getElementById(id));
google.maps.event.addListener(places,'place_changed',函数(){
var place=places.getPlace();
if(放置和放置.地址\u组件){
对于(变量i=0;i<(place.address\u components.length);i++){
if(place.address\u components[i].types[0]=“locality”){
data.city.key=“1001”;
data.city.name=place.address_components[i].long_name.toString();
$rootScope.cityname=data.city.name;
}
}
}
我想显示我搜索结果的
cityname
,但我正在将其添加到我的html中,请任何人提供帮助。谢谢。如果您从addGoogleAddress
返回值并使用它会更好,所有这些都在控制器中并将其分配给con的$scope
或this
特罗勒自己
更新
让我们考虑一下< <代码> MyCuulter < /C> >:
//your controller
***.controller('myControler',['$scope','myService',...,function($scope,myService,...){
$scope.cityName = myService.addGoogleAddress(...);
}]);
<div class="col-sm-6" ng-controller="myController">
.....
因此,您正在使用myService
添加地址并获取返回的值,并将其分配给$scope
,现在如果您保持html的原样,它应该可以工作了
p.S:
如果您没有将控制器与UI连接,请执行以下操作:
//your controller
***.controller('myControler',['$scope','myService',...,function($scope,myService,...){
$scope.cityName = myService.addGoogleAddress(...);
}]);
<div class="col-sm-6" ng-controller="myController">
.....
.....
最好是从addGoogleAddress
返回值并使用它,所有这些值都在控制器
中,并在那里分配给控制器本身的$scope
或此
更新
让我们考虑一下< <代码> MyCuulter < /C> >:
//your controller
***.controller('myControler',['$scope','myService',...,function($scope,myService,...){
$scope.cityName = myService.addGoogleAddress(...);
}]);
<div class="col-sm-6" ng-controller="myController">
.....
因此,您正在使用myService
添加地址并获取返回的值,并将其分配给$scope
,现在如果您保持html的原样,它应该可以工作了
p.S:
如果您没有将控制器与UI连接,请执行以下操作:
//your controller
***.controller('myControler',['$scope','myService',...,function($scope,myService,...){
$scope.cityName = myService.addGoogleAddress(...);
}]);
<div class="col-sm-6" ng-controller="myController">
.....
.....
您在addeventlistener
中的参数数量不正确:
addeventlistener.google.maps.event.addListener(places, 'place_changed', function () {...}
应该是这样的:
addeventlistener.addListener('place_changed', function() {...}
范例
举个例子:
var autoCompletePlaces = new google.maps.places.Autocomplete(input);
autoCompletePlaces.addListener('place_changed', function() {
var place = autoCompletePlaces.getPlace();
}
addeventlistener
中的参数数量不正确:
addeventlistener.google.maps.event.addListener(places, 'place_changed', function () {...}
应该是这样的:
addeventlistener.addListener('place_changed', function() {...}
范例
举个例子:
var autoCompletePlaces = new google.maps.places.Autocomplete(input);
autoCompletePlaces.addListener('place_changed', function() {
var place = autoCompletePlaces.getPlace();
}
你不能将cityname
放入
?你能澄清你想要什么吗?我想在我的输入标签中获取城市名称值,而城市名称在其他控制器中,我如何获取它?你不能将cityname
放入
?你能澄清你想要什么吗?我想在我的输入标签和c中获取城市名称值ityname在其他控制器中,我如何获取它?@Arnold可以自由提问。如果你觉得我的回答对你有帮助,那么你可以将我的回答标记为一个答案,以简化将来对其他人的搜索。请阅读此@Arnold可以自由提问。如果你觉得我的回答对你有帮助,那么你可以将我的回答标记为answ呃,为了简化将来对其他人的搜索。请阅读这个