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