创建新数据和加载现有数据需要单独的视图吗
Do I need separate views for creating new data and loading existing data?
我有一个表格,显示按角度填充的约会信息。当我将现有约会加载到表单中时,一切都很好,但当我尝试创建新约会时,我会遇到一堆空引用错误,并且没有现有的angular数据来填充字段。
例如,下面是我的一个视图的片段:
<fieldset class="form-inline extra-padding-right">
<legend class="sr-only">Event Information</legend>
<div class="form-group">
<label>ID:</label>
<p class="form-control-static">{{ eventId }}</p>
</div>
<div class="form-group">
<label>Title:</label>
<p class="form-control-static">{{ eventTitle }}</p>
</div>
<div class="form-group">
<label>Event Status:</label>
<select class="form-control" id="ddlEventStatus" ng-model="eventStatus"
ng-options="es as es.EventStatusName for es in eventStatusList track by es.EventStatusId">
</select>
</div>
</fieldset>
eventId
、eventTitle
和eventStatus
被附加到控制器中的$scope
并且都为空,因为这将是新的约会。
我必须创建单独的html视图来创建新的约会和加载现有的约会吗?或者有没有办法在我的视图中放置条件词,这样它只会在加载现有约会时尝试填充字段?
可以经常使用相同的控制器和视图进行编辑/创建,只需在范围中切换一个标志变量:
类似于:
$scope.editMode = 'create';
$scope.startEdit = function(event){
$scope.editMode = 'edit';
$scope.event = event;
}
$scope.saveEdit = function(){
$http.post(url,$scope.event).then(function(resp) {
$scope.editMode = 'create';
$scope.event = {}; // reset event object
});
}
由于您应该始终在ng-model
中使用一个对象,因此您的视图应该使用类似于以下内容的输出:
<span>{{ editMode == 'create' ? "New Event" : "Edit Event"}}</span>
{{ event.id }}
<input ng-model="event.id">
相关文章:
- 谷歌图表堆叠柱状图.如何设置每个单独堆叠项目(数据系列)的样式
- 创建新数据和加载现有数据需要单独的视图吗
- 将表单元格数据转换为单独.js文件中的内部链接
- 在一个函数中使用来自两个单独 JSON 文件的数据
- 确保数据在没有单独请求的情况下加载到视图中
- 如何从<窗体>中获取数据并在单独的
- 如何使用javascript或html将数据传递到单独的程序
- 如何将搜索添加到页脚中数据表的某些单独列
- 使用余烬数据如何单独异步获取子项
- 将数据发送到单独的窗口javascript
- 将数据从单独的 JavaScript 文件获取到数组中
- 如何组合两个单独的Uint8Array的颜色数据(JPEG)和透明度数据(PNG)
- 如何为 cordova 应用程序创建一个单独的目录并在其中存储数据
- 单独 HTML 文件的占位符表示法,用于创建网页的一小部分并将占位符替换为数据值
- 如何访问单独js文件中的服务器数据
- 如何在使用flot绘制图形时单独获取数据值
- 在单独的Javascript文件中获取数据的最佳方式
- 从$http将数据从单独的服务文件获取到$scope中
- 使用PHP从HTML中的单独表单上传数据
- 如何使用 jquery 在各自的表单字段中将动态进入设计表的数据单独映射到设计表中