ag-grid在angularjs中的使用入门

ag-grid介绍

  • 号称世界上最好的HTML5表格
  • 支持绝大多数主流框架: 原生JavaScript/Angular/React/Vue/AngularJS/Polymer/Aurelia/Web Components
  • 社区版和商业版,主要功能开放为社区版,商业版支持增强特性
阅读更多

angularjs中模态窗口$uibModal的数据回传问题

关于模态窗口的数据如何回传到主控制器中?

通过$uibModalInstance.close(data)来回传数据。
主控制器通过result回调接收即可。

代码实例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
app.controller("commonCtl", function ($scope, $uibModal) {
$scope.openDialog = function () {
var modalInstance = $uibModal.open({
templateUrl: 'dialog.html',
controller: 'formCtl',
windowClass: 'window',
size: 'lg',
resolve: {
data: function () {
return $scope.data;
}
}
});

modalInstance.result.then(
function (data) { // 关闭时回传过来的值($uibModalInstance.close(data))
$scope.data = data;
},
function (reason) { // 取消时
// 点击空白区域:backdrop click
// 点击取消:cancel
}
);
};
})

【全文完】

使用browserSync作为开发环境使用HTML5模式的配置方法

使用browserSync自动热加载开发单页应用,启用AngularJS下的HTML5模式,相对路径的URL刷新会
提示无法获取请求。

安装connect-history-api-fallback包

1
npm install connect-history-api-fallback --save-dev

配置

在gulpfile.js文件中配置以下内容

1
2
3
4
5
6
7
8
9
var historyApiFallback = require('connect-history-api-fallback')
var bs = require('browser-sync').create();

bs.init({
server: {
baseDir: "./app",
middleware: [ historyApiFallback() ]
}
})

【全文完】

去掉AngularJS的URL中的#

默认的AngularJS项目开发中的URL访问路径中会有”#”作为前缀出现,可以通过配置将”#”去掉。

这里主要记录针对静态站点的设置,使用Nginx作为Web服务器的情况。

修改代码

修改html页面,增加base标签

1
2
3
4
5
6
7
8
<html>
<head>
<base href="/">
</head>

...

</html

修改js文件中的html5Mode

1
2
3
4
5
angular
.module('app.routes')
.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(true);
}]);

修改nginx配置

修改nginx的配置文件,增加try_files配置

1
2
3
4
5
6
7
8
server {
listen 80;
server_name example.com;
location / {
root $htdocs;
try_files $uri $uri/ /index.html =404;
}
}

参考

Angular 1.x 基础知识点(翻译)

原文题目:Modern Angular 1.x essential interview questions
出处:https://toddmotto.com/modern-angular-interview-questions?utm_source=javascriptweekly&utm_medium=email
翻译时长:2 hours 30 mins
审阅时长:10 min

翻译正文内容:
Angular 1.x 在 1.5 引入 .component()后改变了很多,并随之给面试带来了一片新的天地。在许多
之前职位中,我面试了关于Angular、通用JavaScript或者两种兼有的开发者。这是我关于当前Angular
1.x的面试题清单,主要关注组件架构和最佳实践。有些简单,有些困难,由你选择。

有些问题的用意在于让面试者基于他们的经验或者观点来回答。比如,“你什么时候使用X而不是Y”是一个比
“为什么X比Y要好”好的问题。这让你可以挖掘得更深,并可以在面试过程中有更好的对话,也让你能快速判断
哪个开发者更适合你。

答案并没包含,也不会包含。有部分问题是主题性,有部分鼓励你自学。如果你不知道答案,那么你可以去探索并学习。背诵将不会让你通过面试。

阅读更多