Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:在控制器中获取模板属性值_Javascript_Angularjs_Json - Fatal编程技术网

Javascript AngularJS:在控制器中获取模板属性值

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">

我是angularjs的新手,使用1.6.4版。我使用这个模块上传功能,缩小版本。在上传请求成功时,服务器将在onSuccess(response)函数上返回上传文件信息的json对象,如我的user-registration.template.html文件所示。现在我需要将这个json对象带到我的控制器,这样我就可以将这些信息保存在我的数据库中。下面是我的几行代码

user-registration.template.html:

<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]
    });

}());