angularjs循环对象属性优缺点是什么,怎么实现
Admin 2022-06-22 群英技术资讯 760 次浏览
今天这篇我们来学习和了解“angularjs循环对象属性优缺点是什么,怎么实现”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“angularjs循环对象属性优缺点是什么,怎么实现”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!angularjs循环对象属性实现动态列
优点:保存对象,在数据库只保存一条数据
缺点:添加对象属性需要修改表结构、代码,然后重新重新发布
实现思路
1)数据库创建表(对象)、创建字段(对象属性)
2)根据表(对象)、字段(对象属性)生成配置表
3)根据表(对象)、字段(对象属性)生成三层架构
4)demo代码如下
1.接口代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using WebApplication1.Models;
namespace WebApplication1.Controllers
{
public class HomeController : Controller
{
public IActionResult Index(string objecttype)
{
ViewBag.objecttype = objecttype;
return View();
}
[HttpPost]
public JsonResult GetItem(string objecttype)
{
if (objecttype == "student")
{
Student item = new Student
{
no = "S001",
name = "张三",
gender = "男",
};
List<Column> columns = new List<Column>();
columns.Add(new Column { columnname = "no", displaynname="学号" });
columns.Add(new Column { columnname = "name", displaynname = "姓名" });
columns.Add(new Column { columnname = "gender", displaynname = "性别" });
return Json(new { code = "1", msg = "", item = item, columns = columns });
}
else
{
School item = new School
{
no = "S001",
name = "浙江大学",
address = "浙江",
};
List<Column> columns = new List<Column>();
columns.Add(new Column { columnname = "no", displaynname = "编码" });
columns.Add(new Column { columnname = "name", displaynname = "名称" });
columns.Add(new Column { columnname = "address", displaynname = "地址" });
return Json(new { code = "1", msg = "", item = item, columns = columns });
}
}
[HttpPost]
public JsonResult SaveItem(string objecttype, string itemstring)
{
if (objecttype == "student")
{
Student item = JsonConvert.DeserializeObject<Student>(itemstring);
}
else
{
School item = JsonConvert.DeserializeObject<School>(itemstring);
}
return Json(new { ResultCode = "1", ResultMessage = "保存成功!" });
}
}
public class Student
{
public string no { get; set; }
public string name { get; set; }
public string gender { get; set; }
}
public class School
{
public string no { get; set; }
public string name { get; set; }
public string address { get; set; }
}
public class Column
{
public string columnname { get; set; }
public string displaynname { get; set; }
}
}
2.angularjs前端代码
@{
ViewData["Title"] = "Home Page";
}
<script type="text/javascript">
var app = angular.module("my_app", []);
app.controller('my_controller', function ($scope) {
//保存
$scope.saveItem = function () {
var itemstring = JSON.stringify($scope.item)
$.post('@Url.Action("SaveItem", "Home")', { objecttype: '@ViewBag.objecttype', itemstring: itemstring }, function (data) {
});
}
//获取
$scope.getItem = function () {
$.post('@Url.Action("GetItem", "Home")', { objecttype: '@ViewBag.objecttype' }, function (result) {
$scope.item = result.item;
$scope.columns = result.columns;
$scope.$apply();
});
}
$scope.getItem();
});
</script>
<div>
<ul>
<li ng-repeat="column in columns">
<span>{{column.displaynname}}</span>
<input ng-if="item[column.columnname]&&item[column.columnname].length" ng-model="item[column.columnname]" />
</li>
</ul>
<input type="button" value="保存" ng-click="saveItem();" />
</div>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JavaScript树结构深度优先算法,树结构可以说是前端中最常见的数据结构之一,比如说DOM树、级联选择、树形组件,更多相关内容需要的小伙伴可以参考一下
本文实例为大家分享了vue引入Excel表格插件的具体代码,供大家参考,具体内容如下
一.使用插件1.NodeJs自带的加密插件:crypto文档:https://nodejs.org/api/crypto.html可以用来将用户密码加密再存入数据库//随机生成加密token的密匙,用于jwt加密密匙lettokenSecret=crypto.randomBytes(16).toString('hex'), 2.用于生成token的插件:jwt-si
本篇文章给大家带来了关于JavaScript中Proxy与Reflect的相关知识,希望对大家有帮助。
js中的this关键字平时在开发中使用时倒是也能正常应用,但是对其使用和判断并不能信手拈来,所以下面这篇文章主要给大家介绍了关于js中this关键字的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008