公司用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的更多相关文章

  1. 内部技术分享的 PPT

    本文的基础是搞了一次内部的技术分享,在此也分享一下本次的PPT的一些内容.先列一下大概内容吧. EF-Code First API(WCF.WebAPI) Xaml MVVM AOP Xamarin. ...

  2. [AngularJS] angular-md-table for Angular material design

    Download from npm:https://www.npmjs.com/package/angular-md-table +: Responsive: Has both Mobile view ...

  3. angularJS学习资源最全汇总

    基础 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/: 官方zip下载包 https://github ...

  4. 使用 AngularJS 和 Electron 构建桌面应用

    GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...

  5. 20个免费的 AngularJS 资源和开发教程

    曾经,jQuery 无疑是最受欢迎的开源的 JavaScript 库,如今它有了很多的竞争对手,像 AngularJS.React.KnockoutJS 等等.在这里,我想重点关注一下 Angular ...

  6. angularjs 延迟更新和angularjsUI

    angularjsUI库https://material.angularjs.org/latest/ ng-model-options="{ updateOn: 'blur' }" ...

  7. 拟物设计和Angular的实现 - Material Design(持续更新)

    Material Design是Google最新发布的跨平台统一视觉设计语言.直接翻译是物质设计,但是我更倾向于使用"拟物设计"更为准确. 据谷歌介绍,Material Desig ...

  8. 深入探索AngularJS(持续更新)

    数据双向绑定并不是Angular最出彩的地方.大部分对AngularJs的介绍都偏重于使用,使用的学习只是学了AngularJs的API,而那只能AngularJs的很小一部分.随着使用越来越深,系统 ...

  9. 通过Anuglar Material串串学客户端开发 - javascript编译和gulpfile.js

    Angular Material不仅仅有本身框架的源代码,还有在这个框架上实现的一个应用docs.更为强大的是,这个应用是真正的产品网站:就是它的官网.我有理由相信,这个网站是从源代码直接发布的,从网 ...

随机推荐

  1. JavaSE教程-04Java中循环语句for,while,do···while-练习

    0.实现打印50遍的"我爱你" 1.请在控制台输出数据1-10 2.请在控制台输出数据10-1 3.求出1-10之间数据之和 4.求出1-100之间能够被3整除的所有数的和 前四题 ...

  2. 38. Count and Say - Unsolved

    https://leetcode.com/problems/count-and-say/#/description The count-and-say sequence is the sequence ...

  3. Android之自定义Adapter的ListView

    ListView的创建,一般要具备两大元素: 1)数据集,即要映射的字符串.图片信息之类. 2)适配器,实现把要映射的字符串.图片信息映射成视图(如Textview.Image等组件),再添加到Lis ...

  4. Mac 多个JDK的版本 脚本切换

    这里配置jdk7和jdk8版本的切换 1.官网下载jdk7和jdk8 地址:http://www.oracle.com/technetwork/java/javase/downloads 2.安装两个 ...

  5. .NET 随记

    1. goto 常用于 switch语句中2. 字符串相加用 StringBuilder的Append()方法性能好3. str.Trim(',') 清除字符串后的","4. st ...

  6. R 包 安装 卸载 查看版本

    R 查看包的版本 version> packageVersion("snow") 卸载包remove.packages 从源码安装包install.packages(path ...

  7. CYQ.Data V5 分布式自动化缓存设计介绍(二)

    前言: 最近一段时间,开始了<IT连>创业,所以精力和写的文章多数是在分享创业的过程. 而关于本人三大框架CYQ.Data.Aries.Taurus.MVC的相关文章,基本都很少写了. 但 ...

  8. win7中python3.4下安装scrapy爬虫框架(亲测可用)

    貌似最新的scrapy已经支持python3,但是错误挺多的,以下为在win7中的安装步骤: 1.首先需要安装Scrapy的依赖包,包括parsel, w3lib, cryptography, pyO ...

  9. mysql 转义字符

    在用户提交表单的时候,有的用户会提交一些特殊字符,比如单引号双引号,此时,如果直接按正常字符串插入数据库的话,可能会出现无法正确插入数据库 PDO::quote 转义mysql语句中的单引号和双引号 ...

  10. thinkphp中try catch的运用

    public function doedit_set(){ $info=$this->_post("info"); $id=$this->_post("id& ...