精华内容
下载资源
问答
  • anuglar2 compatible ?

    2020-12-01 16:54:42
    <p>Does anyone know a ng2-charts version that is comptatble with anuglar2: 2.0.0 ? I tried adding this to my project and im getting errors, so im hoping there is an older version out there that will ...
  • Anuglar8集成高德地图

    2019-08-21 11:05:02
    Anuglar8集成高德地图 @我是一只小菜鸡传送门 Anuglar8集成高德地图github源码 一、自己新建一个angualr项目。emm…新建项目就不用教了吧。 TODO… 二、开始搞事情吧 新建一个组件,命名为map.component.ts,建一个map...

    Anuglar8集成高德地图

    @我是一只小菜鸡传送门
    Anuglar8集成高德地图github源码
    一、自己新建一个angualr项目。emm…新建项目就不用教了吧。

    TODO…

    二、开始搞事情吧
    新建一个组件,命名为map.component.ts,建一个map.component.html
    Let`s do it!
    在html 代码里撸上二个div
    #container 是用于放地图和,#panel 是用于电子围栏

    <div id='container' style='width:1200px; height:600px;'></div>
    <div id="panel"></div>

    如果你要与实际业务结合,那你就自己去后台取数据自己绑吧。

    示例代码如下:

    //轨迹回放
        gethistorical() {
            var marker, lineArr = [
                [112.54711, 37.794917],
                [112.544632, 37.796698],
                [112.543357, 37.801004],
                [112.544318, 37.801398],
                [112.545455, 37.802072],
                [112.548588, 37.802128],
                [112.548942, 37.803073],
                [112.549011, 37.803831],
                [112.549113, 37.806442],
                [112.549269, 37.807358],
                [112.551356, 37.807404]
            ];
    
            var map = new AMap.Map("container", {
                resizeEnable: true,
                center: [112.546925, 37.794941],
                zoom: 17
            });
    
            marker = new AMap.Marker({
                map: map,
                position: [112.547247, 37.794907],
                icon: "https://webapi.amap.com/images/car.png",
                offset: new AMap.Pixel(-26, -13),
                autoRotation: true,
                angle: -90,
            });
    
            // 绘制轨迹
            var polyline = new AMap.Polyline({
                map: map,
                path: lineArr,
                showDir: true,
                strokeColor: "#28F",  //线颜色
                // strokeOpacity: 1,     //线透明度
                strokeWeight: 6,      //线宽
                // strokeStyle: "solid"  //线样式
            });
    
            var passedPolyline = new AMap.Polyline({
                map: map,
                // path: lineArr,
                strokeColor: "#AF5",  //线颜色
                // strokeOpacity: 1,     //线透明度
                strokeWeight: 6,      //线宽
                // strokeStyle: "solid"  //线样式
            });
    
    
            marker.on('moving', function (e) {
                passedPolyline.setPath(e.passedPath);
            });
    
            map.setFitView();
    
            //开始移动
            marker.moveAlong(lineArr, 200);
            //暂停移动
            // marker.pauseMove();
            // //继续播放
            // marker.resumeMove();
            // //停止播放
            // marker.stopMove();
        }
    
        //圆
        getCircle() {
            //初始化地图对象,加载地图
            var map = new AMap.Map("container", {
                resizeEnable: true,
            });
            var marker = new AMap.Marker({
                map: map,
                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                position: [112.557453, 37.801733]
            });
            var lineArr = [
                [112.55329, 37.801598],
                [112.553891, 37.80726],
                [112.561315, 37.804242],
                [112.557582, 37.801971]
            ];
            var circle = new AMap.Circle({
                map: map,
                center: lineArr[0],          //设置线覆盖物路径
                radius: 500,
                strokeColor: "#3366FF", //边框线颜色
                strokeOpacity: 0.3,       //边框线透明度
                strokeWeight: 3,        //边框线宽
                fillColor: "#FFA500", //填充色
                fillOpacity: 0.35//填充透明度
            });
            map.setFitView();
        }
    
        //不规则图形
        getpolygon() {  //初始化地图对象,加载地图
            var map = new AMap.Map("container", {
                resizeEnable: true
            });
            var marker = new AMap.Marker({
                map: map,
                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                position: [112.571572, 37.789423]
            });
            var polygonArr = [
                [112.567109, 37.79],
                [112.572645, 37.792916],
                [112.575048, 37.786642]
            ];
            var polygon = new AMap.Polygon({
                map: map,
                path: polygonArr,//设置多边形边界路径
                strokeColor: "#FF33FF", //线颜色
                strokeOpacity: 0.2, //线透明度
                strokeWeight: 3,    //线宽
                fillColor: "#1791fc", //填充色
                fillOpacity: 0.35//填充透明度
            });
    
            map.setFitView();
    
        }
    
        //起点-终点路线
        getLine() {
            var map = new AMap.Map("container", {
                resizeEnable: true,
                center: [112.547088, 37.794912],//地图中心点
                zoom: 13 //地图显示的缩放级别
            });
            //构造路线导航类
            map.plugin(['AMap.Driving'], () => {
                // 设置地位标记为自定义标
                let driving = new AMap.Driving({
                    map: map,
                    panel: "panel"
                });
                // 根据起终点经纬度规划驾车导航路线
                driving.search(new AMap.LngLat(112.547088, 37.794912), new AMap.LngLat(112.546982, 37.807023), function (status, result) {
                    // result 即是对应的驾车导航信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
                    if (status === 'complete') {
                        console.log('绘制驾车路线完成')
                    } else {
                        console.log('获取驾车数据失败:' + result)
                    }
                });
                //  添加插件
                map.addControl(new driving);
            });
    
    
        }
    
        //获取自己的定位
        getlocaltion() {
    
            // //   实例化一个地图
            let map = new AMap.Map('container', {
                resizeEnable: true,
            });
            // //  设置我们需要的目标城市
            // map.setCity("成都"); // 或者输入精度
            //  自定义一个标识(marker)
            let customMarker = new AMap.Marker({
                // 这个是在高德API里面的参考手册的基础类里面
                // 自定义偏移量
                offset: new AMap.Pixel(-14, -34), // 使用的是Pixel类
                // 这个是在高德API里面的参考手册的覆盖物里面
                //  自定义图标
                icon: new AMap.Icon({ // 复杂图标类
                    // 设定图标的大小
                    size: new AMap.Size(27, 36),
                    // 图片地址
                    imgae: '//vdata.amap.com/icons/b18/1/2.png',
                    imageOffset: new AMap.Pixel(-28, 0)// 相对于大图的取图位置
                })
            });
            //  添加地图插件:地图工具条
            map.plugin(['AMap.ToolBar'], () => {
                // 设置地位标记为自定义标
                let toolBar = new AMap.ToolBar({
                    locationMarker: customMarker
                });
                //  添加插件
                map.addControl(new toolBar);
            });
            //  添加比例尺插件
            map.plugin(['AMap.Scale'], () => {
                //   初始化插件
                let scale = new AMap.Scale();
                //   加载插件
                map.addControl(new scale);
            });
            //  加载地图实景
            map.plugin(["AMap.MapType"], () => {
                let type = new AMap.MapType();
                map.addControl(type);
            });
            // //  加载鹰眼
            map.plugin(["AMap.OverView"], () => {
                let view = new AMap.OverView({
                    // 鹰眼是否展示
                    visible: true,
                    // 鹰眼是否展开
                    isOpen: true
                });
                map.addControl(view);
                // 调用方法 显示鹰眼窗口
                view.show();
            });
            // 添加定位
            map.plugin('AMap.Geolocation', () => {
                let geolocation = new AMap.Geolocation({
                    enableHighAccuracy: true, // 是否使用高精度定位,默认:true
                    timeout: 10000,          // 超过10秒后停止定位,默认:无穷大
                    maximumAge: 0,           // 定位结果缓存0毫秒,默认:0
                    convert: true,           // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
                    showButton: true,        // 显示定位按钮,默认:true
                    buttonPosition: 'LB',    // 定位按钮停靠位置,默认:'LB',左下角
                    buttonOffset: new AMap.Pixel(10, 20), // 定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
                    showMarker: true,         //    定位成功后在定位到的位置显示点标记,默认:true
                    showCircle: true,        // 定位成功后用圆圈表示定位精度范围,默认:true
                    panToLocation: true,     // 定位成功后将定位到的位置作为地图中心点,默认:true
                    zoomToAccuracy: true,      // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
    
                });
                // 加载插件
                map.addControl(geolocation);
                // 调用方法 获取用户当前的精确位置信息
                geolocation.getCurrentPosition();
                //  定时刷新位置
                geolocation.watchPosition(
                    2
                );
                AMap.event.addListener(geolocation, 'complete', (data) => {
                    console.log(data);
                    // var marker = new AMap.Marker({
                    //     icon: '//vdata.amap.com/icons/b18/1/2.png',
                    //     position: data.position,   // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
                    //     title: data.formattedAddress,
                    // });
    
                    // // 将创建的点标记添加到已有的地图实例:
                    // map.add(marker);
    
                    console.log("定位成功");
                }); //  返回定位信息
                AMap.event.addListener(geolocation, 'error', () => {
                    console.log("定位失败");
                });      // 返回定位出错信息
            });
            //   获取输入类的
            let autoOptions = {
                input: 'tipinput'
            };
            //  加载输入类插件
            map.plugin('AMap.Autocomplete', () => {
                //  实例化
                let auto = new AMap.Autocomplete(autoOptions);
                // 加载插件
                map.addControl(auto);
            });
            // 加载收索类插件
            map.plugin('AMap.PlaceSearch', () => {
                //   实例化
                let placeSearch = new AMap.PlaceSearch({
                    map: map
                });  // 构造地点查询类
                //   加载插件
                map.addControl(placeSearch);
                //  注册监听事件,当选中某条记录的时候就会触发
                AMap.event.addListener(new AMap.Autocomplete(autoOptions), "select", (e) => {
                    placeSearch.setCity(e.poi.adcode);
                    placeSearch.search(e.poi.name);  //关键字查询查询
                });
            });
        }
    

    @我是一只小菜鸡
    嗯。。不会的还有demo的源码可以直接看到效果。
    Anuglar8集成高德地图github源码

    展开全文
  • anuglar定时器

    2019-10-30 09:36:02
    项目中用到定时器刷新数据,记录一下...在anuglar js中这两个函数返回的都是promise对象 timer.then(function(){ console.log('定时任务创建成功') },function(){ console.log('定时任务创建失败') };  

    项目中用到定时器刷新数据,记录一下,以便以后用。同js一样,有两种定时器,分别是$timeout 和$interval

    1、$timeout延迟执行

    var  timeout = $timeout(function() {
          .....................//此处写自己的逻辑方法
        }, 8000);//方法延迟执行8秒
    
    $timeout.cancel(timeout);//清除
    
    
    

    2、$interval定时任务

    如果不取消该定时器,即便退出该页面切换到其他页面,该定时任务会一直执行,

    所以当退出该页面后,建议取消该定时器,通过监听$destory事件,判断是否切换了

    页面

       var  timer = $interval(
            function(){
                $scope.getTemperature();
            },10000//每10秒执行一次改方法
        )
        
        //当DOM元素从页面中被移除时,AngularJS将会在scope中触发$destory事件。
        //这让我们可以通过监听该事件来cancel任何潜在的定时器。切换controller、页面后即可调用
        $scope.$on(
            "$destroy",
            function() {
                $interval.cancel( timer );
            }
        );

    在anuglar js中这两个函数返回的都是promise对象

    timer.then(function(){
     console.log('定时任务创建成功')
    },function(){ 
     console.log('定时任务创建失败')
    };

     

    展开全文
  • Anuglar中正确导入RxJS库

    千次阅读 2018-03-01 21:09:48
    Anuglar中正确导入RxJS库 目前Angular2中的已经内建支持RxJS,所以我们在使用的时候可以直接导入使用了。 理解操作符导⼊ 在使用创建依赖于 RxJS 组件,服务,指令等等时, 你可能遇到处理运算符导⼊的问 题。...

    Anuglar中正确导入RxJS库

    目前Angular2中的已经内建支持RxJS,所以我们在使用的时候可以直接导入使用了。

    理解操作符导⼊

    在使用创建依赖于 RxJS 组件,服务,指令等等时, 你可能遇到处理运算符导⼊的问
    题。 在项⽬中引⼊操作符最主要的⽅式像下⾯这样导⼊:

    import 'rxjs/add/operator/take';

    这会将导⼊的操作符添加到 Observable 的原型上, 以便在整个项⽬中
    使⽤:

    take.ts原码

    import { Observable } from '../../Observable';
    import { take } from '../../operator/take';
    
    Observable.prototype.take = take;
    declare module '../../Observable' {
        interface Observable<T> {
            take: typeof take;
        }
    }

    对于私有项⽬和模块, 这种⽅法通常是“没问题的”, 但当整个团队使⽤同
    ⼀个 npm 包或库时再使⽤这种导⼊⽅式, 问题就会出现。

    简单示例

    来看看问题出在哪⾥, 假设⼩A创建了⼀个公有的 Angular 组件库。 在这
    个库中需要⼀些操作符, 下⾯以传统的⽅式进⾏了导⼊:

    some-public-library.ts

    import 'rxjs/add/operator/take';
    import 'rxjs/add/operator/concatMap';
    import 'rxjs/add/operator/switchMap';

    ⼩B引⽤了⼩A的库。 尽管他并没有导⼊这些操作符, 但他依然可以直接
    使⽤。 这可能不是什么⼤问题, 但确实会带来⼀些困扰。 ⼩B继续使⽤库
    和这些操作符, ⼀切都很正常…

    ⼀个⽉后, ⼩A决定更新⾃⼰的库。 他不再需要 switchMap 或
    concatMap , 所以他删除了导⼊:

    some-public-library.ts

    import 'rxjs/add/operator/take';
    // import 'rxjs/add/operator/concatMap'; delete
    // import 'rxjs/add/operator/switchMap'; delete

    ⼩B更新了依赖并构建⾃⼰的项⽬, 但这次失败了。 他本身并没有引⼊
    switchMap 或 concatMap , 只是基于第三⽅的依赖才能正常运⾏。 如
    果你并没有意识到这样会产⽣问题, 那可能需要⼀点时间来弄清楚。

    解决⽅案

    不再使⽤这种导⼊⽅式:

    import 'rxjs/add/operator/take';

    我们可以这样来进⾏导⼊:

    import { take } from 'rxjs/operator/take';

    这样可以保持 Observable 原型的⼲净, 这样来直接调⽤它们:

    import { take } from 'rxjs/operator/take';
    import { of } from 'rxjs/observable/of';
    
    take.call(
    of(1,2,3),
    2
    );

    然⽽这样代码很快就会变得丑陋不堪, 想象⼀下这样更⻓的调⽤链:

    import { take } from 'rxjs/operator/take';
    import { map } from 'rxjs/operator/map';
    import { of } from 'rxjs/observable/of';
    
    map.call(
    take.call(
    of(1,2,3),
    2
    ),
    val => val + 2
    );

    很快我们的代码块将变得⼏乎⽆法理解。 我们怎样才能两全其美呢?

    RxJS 辅助函数

    现在 RxJS 提供了 pipe 辅助函数, 它存在于 Observable 上, 它缓
    解了操作符不在原型上所带来的问题。 我们还继续使⽤上⾯丑陋的代码
    块:

    map.call(
        take.call(
            of(1,2,3),
            2
        ),
        val => val + 2
    );

    并将其转换成:

    import { take, map } from 'rxjs/operators';
    import { of } from 'rxjs/observable/of';
    of(1,2,3)
    .pipe(
    take(2),
    map(val => val + 2)
    );

    读起来容易多了, 对吧? 如果⽤ Angular 开发并使⽤ @angular/cdk 的
    话, 你可以利⽤ RxChain 函数和辅助函数来达到类似的效果:

    import { of } from 'rxjs/observable/of';
    import { RxChain, map, debounceTime } from '@angular/cdk/rxjs';
    RxChain
        .from(of(1,2,3))
        .call(map, val => val + 2)
        .call(debounceTime, 1000)

    ⽆论你喜欢哪种⽅法, 这两者⽅式都可以让你轻松保持操作符链的可读
    性, 同时为其他项⽬保留了⼲净的原型!

    展开全文
  • anuglar.js ui-router 传递参数的方法有: 一: ui-sref 传递参数,传递一个参数的时候 首先路有这样写:   .state('edit', { //线路编辑页面 url: '/edit?id', templateUrl: 'view/template/...

    anuglar.js ui-router 传递参数的方法有:

    一: ui-sref 传递参数,传递一个参数的时候

    首先路有这样写:

      

    .state('edit', { //线路编辑页面
    		
    		url: '/edit?id',
    		
    		templateUrl: 'view/template/shopList/edit.html',
    		
    		controller: 'editCtrl'
    		
    	})
    

      html 页面写法为:

    <button ui-sref="edit({id:{{item.id}}})" type="button" class="btn btn-link btn-sm">编辑</button>
    {{item.id}}是动态的数据

    controller 中获取传递的参数的方法

    $state.params.id
    可以打印 $state.params 看看结果

    传递多个参数的时候:

    路由的写法为:

    .state('edit', { //线路编辑页面
            
            url: '/edit?id&page',
            
            templateUrl: 'view/template/shopList/edit.html',
            
            controller: 'editCtrl'
            
        })
    
    url: '/edit?id&page',
    需要传递多少参数,便在问号后边跟上就行

    html 页面写法为:

    <button ui-sref="edit({id:{{item.id}},page:{{item.id}}})" type="button" class="btn btn-link btn-sm">编辑</button>

     

    controller 中获取传递的参数的方法,还是跟以前一样。

     

    一:$state.go 传递参数,传递一个或者多个参数的时候(直接写多个一个和 ui-sref 一样的写法)

    路由写法

    .state('home', {
            
            url: '/home?id&page',
            
            templateUrl: 'view/home.html',
            
            controller: 'homeCtrl'
            
        })

    控制器写法:

     $state.go('home',{id: '01',page: '02'});

    接受参数的写法:

        console.log($state.params);
    接受参数的时候有两种写法都是一样的:
    $state.params.id  或者  $stateParams.id

     

     

    转载于:https://www.cnblogs.com/haonanZhang/p/6874396.html

    展开全文
  • Anuglar 9 SSR support

    2020-11-26 01:49:01
    <div><p>Hey. :) It seems that there is a problem with window reference when running the project in SSR mode with linked simple-keyboard. Since SSR is very sensitive for window checking - it'...
  • anuglar js教程

    2019-02-28 18:43:18
    http://www.runoob.com/angularjs/angularjs-modules.html
  • Anuglar update to v 10

    2021-01-12 18:50:39
    <div><h2>Description ... <p>Angular now recommends the use of a <code>tsconfig.base.json</code> to help organize the various typings contexts (shared, unit tests, end to end tests, application, etc)....
  • <div><p>hello Sir! I have Developed a website in angular using gsap for the animations and much more and also it's work properly on CSR(Client Side Rendering).But i want to Rendered this app on ...
  • i18n: Anuglar 2 localization

    2020-12-08 22:08:31
    <div><p>Implement localization with Angular 2</p><p>该提问来源于开源项目:w11k/calendar-for-trello</p></div>
  • 史上最容易理解,最全的angualr4.x、anuglar2入门实战视频教程,兼容angualr5.x,angualr6.x以及老版本的angualr2.x。   angualr4既可以开发单页面应用,也可以开发桌面应用,还可以开发app。相比react vue...
  • [Feature]: Support Anuglar 4

    2020-12-02 08:29:46
    <div><h1>I'm submitting a <ul><li>[ ] Regression (a behavior that used to work and stopped working in a new release)</li><li>[ ] Bug report</li><li>[ ] Enhancement</li><li>[x] Feature request</li>...
  • <div><p>Hello <p>I'm using ngx-quill using angular 4 CLI, i'm trying to add image resize module to the editor. <ul><li>What i have tried: 1- i tried to register the module in ...
  • Always treat Router as the source of truth When we use Ngrx, we can see that we will use a "StoreRouterConnectingModule" from the example app. What it does, is that, it connects router state ...
  • anuglar中使用ng-if else

    千次阅读 2019-05-20 14:34:59
    使用 else : <div *ngIf="isValid;else other_content"> content here ... </div> <ng-template #other_content>other content here...</ng-template> 你也可以使用 then ...div *ngI...
  • viewer是一款非常强大的图片查看器,而angular中没有比较好的图片查看工具,viewer有js和jQuery版本,这里用到的是纯js版 1.首先项目是基于ng-alain和ng-zorro框架使用的,angular原生项目也可以使用,只是目录结构有...

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

anuglar