所以我一直沒有和AngularJs一起工作很長時間,遇到了一個我修復的問題,但想知道我是否做對了嗎?
我創建了NG-模型這樣的觀點:
<div class="col-sm-7 col-md-7">
<select ng-model="user.UserTypeId" ng-options="item.UserType for item in userTypes" class="form-control"></select>
</div>
現在,我想我可以設置$ scope.user.UserTypeId的初始值,像這樣:
$scope.userTypes = [
{ UserTypeId: "FB1AE6EA-D94F-4EC9-8FE8-44178D45D9C9", UserType: "Admin" },
{ UserTypeId: "FF6DE9DB-195D-48F8-87AB-E56B49E3A9D8", UserType: "User" }
];
$scope.user.UserTypeId = $scope.userTypes[0];
但在控制器的執行上,我在$ scope.user對象上得到一個「undefined」。我已經通過初始化控制器頂部的$ scope.user來解決這個問題。
$scope.user = {};
我的問題是我在做這個正確的方法嗎?我會認爲angularJs會爲我做這件事,而且我不需要初始化我在ng模型中的每個對象,或者它是這樣完成的嗎?
AngularJS只會在您與輸入交互並更改值時執行此操作。那時它將創建財產並分配價值。 – Chandermani 2014-09-10 09:57:05
'ng-model'會創建一個對象,如果它不存在但是在編譯html之前必須運行控制器腳本,所以你不能在創建它之前將屬性添加到非existant對象 – charlietfl 2014-09-10 10:51:54