Javascript Angular无法设置未定义的属性
我不太明白为什么以下方法不起作用: main.htmlJavascript Angular无法设置未定义的属性,javascript,angularjs,Javascript,Angularjs,我不太明白为什么以下方法不起作用: main.html <div class="MainCtrl"> <h1>{{message.test}}</h1> </div> 当我运行代码时,我可以看到一个错误,该错误说明: TypeError:无法设置未定义的属性“test” 在纽约 在调用()时 在Object.instantiate()处 在 在$route.link()处 在kfn()处 在nodeLinkFn() 在kfn()处 在publ
<div class="MainCtrl">
<h1>{{message.test}}</h1>
</div>
当我运行代码时,我可以看到一个错误,该错误说明:
TypeError:无法设置未定义的属性“test”
在纽约
在调用()时
在Object.instantiate()处
在
在$route.link()处
在kfn()处
在nodeLinkFn()
在kfn()处
在publicLinkFn()
在名称处。$get.boundTranscludeFn()
显然,我遗漏了一些非常明显的东西。如果要为未定义的对象定义属性,则必须在设置属性之前初始化对象
$scope.message = {};
$scope.message.test = 'bla';
您的测试不存在于消息中,您需要执行
$scope.message={}代码>之前,$scope.message.test=“blablabla”代码>消息
在您的代码中不是对象,您必须使其:
$scope.message = { test: 'blablabla' };
您应该初始化$scope.message
对象,但要安全地进行初始化(以防它在其他地方定义,可能在某些情况下):
$scope.message = { test: 'blablabla' };
$scope.message = $scope.message || {};
$scope.message.test = "blablabla";