Javascript 角度嵌套对象-类型错误:无法读取属性';app&x27;未定义的

Javascript 角度嵌套对象-类型错误:无法读取属性';app&x27;未定义的,javascript,angularjs,pug,Javascript,Angularjs,Pug,我有如下嵌套对象: $scope.userForm.app.status = 'Scheduled'; $scope.userForm.app.recurring = 'One-off'; 但我得到了以下错误: TypeError: Cannot read property 'app' of undefined 有没有一种方法可以让你定义它,这样错误就不会发生 我尝试过做类似于$scope.userForm.app={}的事情,但不确定这是否是正确的解决方案 我还有以下几点: input.f

我有如下嵌套对象:

$scope.userForm.app.status = 'Scheduled';
$scope.userForm.app.recurring = 'One-off';
但我得到了以下错误:

TypeError: Cannot read property 'app' of undefined
有没有一种方法可以让你定义它,这样错误就不会发生

我尝试过做类似于
$scope.userForm.app={}
的事情,但不确定这是否是正确的解决方案

我还有以下几点:

input.form-control#status(ng-model='userForm.status', name='status', type='text', disabled='')
和在控制器中

$scope.userForm = {};
$scope.userForm.status = 'Scheduled';

但是,这不能正确地与模型绑定,也不能在表单中输出计划的内容。错误是
userForm
未定义。仔细阅读错误消息。无法读取未定义的属性
app
。因此,您需要将
userForm
设置为对象:

$scope.userForm = {
  app: {
    status: 'Scheduled',
    recurring: 'One-off'
  }
};

在指定了ng控制器的窗体下,这实际上不起作用,例如
form.form horizontal(ng controller='ARScheduleCtrl',role='form',name='userForm',ng submit='submitForm()',validate form='',novalidate='')。mb lg
我们如何使它在窗体内工作?您实际想做什么?你不应该这样设置表单属性。对不起。我对玉知之甚少。我建议发布一个新问题,因为你的问题甚至没有提到jade。不用担心,这与jade无关,因为它只是HTML模板生成器。基本上,当我把{{userForm.app.status}}放在表单元素中,它不会输出,但是如果它不在表单中,它就会工作