Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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/vb.net/14.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
在angularjs控制器中声明变量_Angularjs - Fatal编程技术网

在angularjs控制器中声明变量

在angularjs控制器中声明变量,angularjs,Angularjs,我正在尝试在controller.js中定义变量conn 由于代码位于底部,我会遇到很多可怕的UI故障,因此我认为下面的代码是错误的。如果我尝试: var conn; conn.name = 'Fred'; 当我试图设置conn.name时,我得到了一个看起来像空指针错误“无法设置未定义的属性'name' 如何定义变量 var addDBConnControllerBase = app.controller('addDBConnControllerBase', function($scope,

我正在尝试在controller.js中定义变量conn

由于代码位于底部,我会遇到很多可怕的UI故障,因此我认为下面的代码是错误的。如果我尝试:

var conn;
conn.name = 'Fred';
当我试图设置conn.name时,我得到了一个看起来像空指针错误“无法设置未定义的属性'name'

如何定义变量

var addDBConnControllerBase = app.controller('addDBConnControllerBase',
function($scope,$http,serviceFactory,$modal,$location,$log)
{
    $scope.saveDBConn = function()
    {
        var conn = {
            name,
            driverType,
            connectionString,
            userID,
            password
        };
        conn.name = $scope.addDBConnController.displayName;
        conn.driverType = $scope.addDBConnController.driverType;
        conn.connectionString = $scope.addDBConnController.connectionString;
        conn.userID = $scope.addDBConnController.userID;
        conn.password = $scope.addDBConnController.password;
        $log.debug('Saving db conn');
        $log.debug(JSON.stringify(conn));
    }
});
试试这个

就你的情况而言,我想这是

var conn = {};
conn["name"] = 'Fred';

您应该首先将变量conn定义为数组。像下面这样

var conn = [];
conn.name=$scope.addDBConnController.displayName;

你需要马上温习一下你的javascript!这:

var conn;
是变量声明,而不是定义
conn
在此语句之后仍然是
未定义的
,因此无法转到
conn.name=…
。在使用它们之前,您必须对其进行初始化:

var conn = {};
conn.name = ...


eeerrr,[]不是初始化对象的方式。我不需要数组。不过还是谢谢你。我学到了一些新东西:-)[]是一个数组,{}是一个对象。我会使用一个服务来保存连接设置。使用服务是我任务的第二部分。这是我的第一天,我只是想确保我能从屏幕上获取数据到控制器,然后开始::-)[]是一个数组。{}是一个对象。
var conn = {};
conn.name = ...
var conn = {
  name: ...
};