Angularjs Material
公司用Angularjs Material进行开发,之前在网站上看了一些Demo,做一个学习的整理。
1、新建窗体的数据绑定
1.1修改kendo表格新增页面按钮,添加按钮,并Dialog一个窗体
toolbar: [
{ template: "<a class='k-button k-button-icontext' ng-click='edit()'><span class='k-icon k-add'></span>新增</a> " },
{ template: "<a class='k-button k-button-icontext' ng-click='demo()'><span class='k-icon k-i-ungroup'></span>测试</a> " },
],
//跳出新增界面
$scope.edit = function (e) {
$mdDialog.show(
{
controller: DialogController,
templateUrl: 'basedata/views/NotamNoticeWarehouseAdd.html',
parent: angular.element(document.body), // targeEvent: ev,
clickOutsideToClose: true,
})
}
function DialogController($rootScope, $scope, $mdDialog) {
$scope.vm = {};
$scope.vm.ID = newGuid();
console.log($scope.vm);
$scope.save = function () {
$http({
method: 'post',
url: $rootScope.baseUrl + "odata/NotamNoticeWarehouse",
data: $scope.vm,
dataType: 'odata',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + $window.sessionStorage["userToken"], 'If-Modified-Since': '0'
}
}).then(function (result) {
if (result.status == "201") {
console.log($scope);
$mdDialog.cancel();
$state.reload("app.NotamNoticeWarehouse");
}
}, function (error) {
console.log(error);
});
}
$scope.cancel = function () {
$mdDialog.cancel();
};
}
1.2选择表格中的某一行,点击编辑,进行数据绑定,与读取
{
command: [{
name: "EditChange",
template: function (e, s) {
return "<a class='k-button' href='' ng-click='EditChange()'><span class='k-icon k-i-ungroup'></span>编辑</a>"
},
},
{ name: "destroy" }], width: "188px"
}
//编辑界面
var dataItem = [];
$scope.EditChange = function () {
var grid = $("#grid_app").data("kendoGrid");
console.log(grid)
var selectedRows = grid.select();
console.log(selectedRows)
dataItem = grid.dataItem(selectedRows);
console.log(dataItem)
if (selectedRows.length == 0) {
alert("请选择要查看的条目");
$state.go("app.NotamNoticeWarehouse");
return false;
}
$mdDialog.show({
controller: AirperformanceController,
templateUrl: 'basedata/views/NotamNoticeWarehouseAdd.html',
parent: angular.element(document.body),
clickOutsideToClose: true,
cache: false,
// fullscreen: $scope.customFullscreen,
}).then(function (answer) {
$scope.status = 'You said the information was "' + answer + '".';
}, function () {
$scope.status = 'You cancelled the dialog.';
});
};
function AirperformanceController($scope, $mdDialog) {
$scope.cancel = function () {
$mdDialog.cancel();
};
$scope.vm = {};
if (dataItem != null) {
$scope.vm = dataItem; console.log($scope.vm);
$scope.save = function () {
console.log($scope.vm)
$http({
method: 'put',
url: $rootScope.baseUrl + "odata/NotamNoticeWarehouse" + "(" + $scope.vm.ID + ")",
data: $scope.vm,
dataType: 'odata-v4',
headers: {
'Content-Type': 'application/json', 'action': 'ch_update',
'Authorization': 'Bearer ' + $window.sessionStorage["userToken"], 'If-Modified-Since': '0',
}
}).then(function (result) {
console.log(result);
if (result.status == "204") {
console.log($scope);
$mdDialog.cancel();
$state.reload("app.NotamNoticeWarehouse");
}
}, function (error) {
console.log(error); if (error.data.resultCode == -1) {
//alert(e.xhr.responseJSON.resultMsg);
window.location = 'error.html';
} else {
alert("查询失败");
}
});
} }
}
2、在提醒相关部门下拉框内,绑定某个数据库中部门字段
// 提醒相关部门绑定数据
var dataComeNearType = [];
$http({
url: $rootScope.baseUrl + "odata/ComeNearType",
method: 'GET',
//headers: {
// 'Content-Type': 'application/json',
// 'Authorization': 'Bearer ' + $window.sessionStorage["userToken"], 'If-Modified-Since': '0'
//}
}).success(function (data) {
console.log(data)
dataComeNearType = data.value;
}).error(function (err) {
//处理响应失败
console.log(err);
}); //绑定数据
$scope.loadDep = function () {
var data = [];
console.log(dataComeNearType)
for (var i = ; i < dataComeNearType.length; i++) {
data.push(dataComeNearType[i].ComeNeartype);
}
$scope.ComeNeartypeData = data;
console.log($scope.ComeNeartypeData)
return $scope.ComeNeartypeData;
};
<md-input-container>
<label>提醒相关部门</label>
<md-select name="Dep" ng-model="vm.Dep" style="min-width:180px;" required md-on-open="loadDep()">
<md-option ng-value="Dep" ng-repeat="department in ComeNeartypeData">{{department}} </md-option>
</md-select>
</md-input-container>
Angularjs Material的更多相关文章
- 内部技术分享的 PPT
本文的基础是搞了一次内部的技术分享,在此也分享一下本次的PPT的一些内容.先列一下大概内容吧. EF-Code First API(WCF.WebAPI) Xaml MVVM AOP Xamarin. ...
- [AngularJS] angular-md-table for Angular material design
Download from npm:https://www.npmjs.com/package/angular-md-table +: Responsive: Has both Mobile view ...
- angularJS学习资源最全汇总
基础 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/: 官方zip下载包 https://github ...
- 使用 AngularJS 和 Electron 构建桌面应用
GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...
- 20个免费的 AngularJS 资源和开发教程
曾经,jQuery 无疑是最受欢迎的开源的 JavaScript 库,如今它有了很多的竞争对手,像 AngularJS.React.KnockoutJS 等等.在这里,我想重点关注一下 Angular ...
- angularjs 延迟更新和angularjsUI
angularjsUI库https://material.angularjs.org/latest/ ng-model-options="{ updateOn: 'blur' }" ...
- 拟物设计和Angular的实现 - Material Design(持续更新)
Material Design是Google最新发布的跨平台统一视觉设计语言.直接翻译是物质设计,但是我更倾向于使用"拟物设计"更为准确. 据谷歌介绍,Material Desig ...
- 深入探索AngularJS(持续更新)
数据双向绑定并不是Angular最出彩的地方.大部分对AngularJs的介绍都偏重于使用,使用的学习只是学了AngularJs的API,而那只能AngularJs的很小一部分.随着使用越来越深,系统 ...
- 通过Anuglar Material串串学客户端开发 - javascript编译和gulpfile.js
Angular Material不仅仅有本身框架的源代码,还有在这个框架上实现的一个应用docs.更为强大的是,这个应用是真正的产品网站:就是它的官网.我有理由相信,这个网站是从源代码直接发布的,从网 ...
随机推荐
- 从零开始的JS生活(二)——BOM、DOM与JS中的事件
上回书说道,JS中变量.运算符.分支结构.循环和嵌套循环等内容.本回就由本K给大伙唠唠JS中的BOM.DOM和事件. 一."花心大萝卜"--BOM 1.震惊,FFF团为何对BOM举 ...
- JavaSE教程-02Java基本语法
1.注释 什么是注释 用于解释说明程序作用的文字 Java中注释分类格式 单行注释 格式: //注释文字 多行注释 格式: /* 注释文字 */ 文档注释 格式:/* 注释文字 / 2.关键字 什么是 ...
- Ch2. Loop Structure
Ex Input some integers and output their min, max and average values (keep three decimal places). It ...
- 主存与Cache的地址映射
最近在复习计算机体系结构,选用的教材是名闻遐迩的<计算机体系结构 量化研究方法 第五版>(Computer Architecture A Quantitative Approach), 关 ...
- Grunt压缩图片
今天我们来说一下用Grunt来压缩图片和JS吧! 首先要安装插件: 这是压缩图片的; npm install --save-dev gulp-imagemin 这是压缩JS的: npm install ...
- js对手机软键盘的监听
js还没有办法对手机软键盘直接进行监听的,但是可以有其他角度来判断软键盘是否弹起.比如输入框是否获取焦点等.focusin和focusout支持冒泡,对应focus和blur, 使用focusin和f ...
- shell网络客户端
需要把线上的access日志发送到另一个程序接收 开始想着用python实现,虽然python也有实现类似tail -F的方式,但太麻烦,而且效率也有折扣 偶然发现了shell可以实现网络client ...
- tostring方法
//__tostring()方法//输出内容时不报错 用法实例:class Ren{ public $name; public function __tostring() { return " ...
- 将逗号分隔 的字符串转化成List
将逗号分隔 的字符串转化成List List<String> parIdListTmp = new ArrayList<String>(); String parIdArray ...
- c#中的委托和c++中的bind/function对比
在c++中,如果要实现这样一个功能,比如定时器,在指定的时间执行指定的函数,接口可以采用如下的设计 uint64_t addtimer(uint64_t t, std::function<voi ...