Javascript AngularJS:在控制器中获取模板属性值
我是angularjs的新手,使用1.6.4版。我使用这个模块上传功能,缩小版本。在上传请求成功时,服务器将在onSuccess(response)函数上返回上传文件信息的json对象,如我的user-registration.template.html文件所示。现在我需要将这个json对象带到我的控制器,这样我就可以将这些信息保存在我的数据库中。下面是我的几行代码 user-registration.template.html:Javascript AngularJS:在控制器中获取模板属性值,javascript,angularjs,json,Javascript,Angularjs,Json,我是angularjs的新手,使用1.6.4版。我使用这个模块上传功能,缩小版本。在上传请求成功时,服务器将在onSuccess(response)函数上返回上传文件信息的json对象,如我的user-registration.template.html文件所示。现在我需要将这个json对象带到我的控制器,这样我就可以将这些信息保存在我的数据库中。下面是我的几行代码 user-registration.template.html: <form role="form">
<form role="form">
<div class="form-group float-label-control">
<label>Name</label>
<input type="text" placeholder="Name" class="form-control" ng-model="model.user.name">
</div>
<!-- leon/angular-upload -->
<div upload-button
url="/user_uploads"
on-success="onSuccess(response)"
on-error="onError(response)">Upload</div>
<div class="text-center">
<button type="button" class="btn btn-default" ng-click="model.save(model.user)">Save</button>
</div>
</form>
名称
上传
拯救
我的组件“user registration.component.js”:
(函数(){
“严格使用”;
var module=angular.module(_appName);
函数saveUser(用户$http){
var url=user.id>0?\uuuApiRoot+“/users/”+user.id:\uuuApiRoot+“/users”;
var dataObj={
有效负载:JSON.stringify(用户),
_方法:“投入”
}
返回$http.post(url,dataObj);
}
函数控制器($http){
var模型=此;
model.user=null;
model.save=函数(用户){
log(JSON.stringify(user));
saveUser(user,$http).then(函数(响应){
警报(response.data.msg);
});
}
}
组件(“用户注册”{
templateUrl:“组件/用户注册/用户注册.template.html”,
绑定:{
值:“尝试将服务器响应数据放入Exempel的rootScope模型:
$rootScope.serveResponse=response;
使用此rootScope,您可以在控制器之间共享变量数据这绝对不是正确的方式。$rootScope
不应用于共享这样的值。服务或$broadcast
//$emit
将是更合适的解决方案。$broadcast/$emit只发送事件而不是值。错误-$scope.$broadcast('eventName',anyValueYouWant)
…接收事件-$scope.$on('eventName',(event,myValue)=>{…})
。
(function(){
"use strict";
var module = angular.module(__appName);
function saveUser(user, $http){
var url = user.id > 0 ? __apiRoot + "/users/" + user.id : __apiRoot + "/users";
var dataObj = {
payload: JSON.stringify(user),
_method: "PUT"
}
return $http.post(url, dataObj);
}
function controller($http){
var model = this;
model.user = null;
model.save = function(user){
console.log(JSON.stringify(user));
saveUser(user, $http).then(function(response){
alert(response.data.msg);
});
}
}
module.component("userRegistration", {
templateUrl: "components/user-registration/user-registration.template.html",
bindings: {
value: "<"
},
controllerAs: "model",
controller: ["$http", controller]
});
}());