小编Saj*_*ith的帖子

如何防止在Angular Js1.2中重定向<a href="#something">

我在我的应用程序中使用AngularJs-1.0.7和Bootstrap.最近我从AngularJs-1.0.7迁移到AngularJs-1.2.我正在使用Bootstrap的Accordions和Tabs.

Tab的Html代码<a href="#id_for_content">如下所示.

<ul id="myTab" class="nav nav-tabs">
    <li class="active"><a href="#firstTab" data-toggle="tab">Home</a></li>
    <li><a href="#secondTab" data-toggle="tab">Profile</a></li>
</ul>

<div id="myTabContent" class="tab-content">
    <div class="tab-pane fade in active" id="firstTab">
      <p>Content for first tab.</p>
    </div>
    <div class="tab-pane fade" id="secondTab">
      <p>Content For second tab.</p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在Angular的旧版本中,路由更改只有在我们给出锚标记时才会发生<a href="#/firstTab">.但AngularJs-1.2重定向<a href="#firstTab">.它不考虑/介于#和之间firstTab.因此,当点击Tab时,它会重定向到http://web_url/#/firstTab.如何解决这个问题?


我的解决方案

我找到了解决这个问题的方法.我为标签写了一个指令.在该指令中,我检查了href属性.如果匹配阻止其默认行为.请检查以下代码.

app.directive('a', function() {
    return {
        restrict: 'E',
        link: function(scope, elem, attrs) {
            if(attrs.href === '#firstTab'|| attrs.href === '#secondTab'){
                elem.on('click', function(e){
                    e.preventDefault();
                }); …
Run Code Online (Sandbox Code Playgroud)

migration twitter-bootstrap angularjs

25
推荐指数
5
解决办法
3万
查看次数

如何在Windows中安装InfluxDB

我是InfluxDB的新手.我找不到有关在Windows上安装InfluxDB的任何细节.有没有办法在Windows机器上安装它,还是需要使用Linux服务器进行开发?

database linux windows install influxdb

21
推荐指数
3
解决办法
4万
查看次数

如何在Angular-js指令中定义一个函数

我创建了一个使用bootstrap的下拉元素选择用户的指令.如下.

使用Javascript

app.directive('usersDropdown', function(ConfigService,$http) {
    return {
        templateUrl: 'app/views/users_dropdown.html',
        link: function($scope, element, attrs) {
        });
    };
});
Run Code Online (Sandbox Code Playgroud)

users_dropdown.html

<div class="btn-group pull-right" >
    <a class="btn dropdown-toggle" data-toggle="dropdown" href="">
        Select User
        <span class="caret"></span>
    </a>
    <ul class="dropdown-menu pull-right align-left" role="menu" aria-labelledby="dropdownMenu">
        <li ng-repeat = "userList in userLists"><a ng-click="getUserDetails('{{userList.SessionId}}')" style="cursor:pointer">{{userList.UserPartyName}}</a></li>
        <li ng-hide="userLists" style="cursor:pointer"><a>No Users</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要创建一个函数getUserDetails,在从列表中单击用户时应该调用该函数.我的问题是如何在指令本身内定义这个函数?我在控制器中写了它.但问题是我有几个控制器.在所有控制器中编写相同的功能并不是一个好习惯.如果我可以为所有控制器编写通用函数,那就是在指令中,它会很好.如果您有一个很好的解决方案,请告诉我.


修改

我按如下方式修改了我的指令js

app.directive('usersDropdown', function(ConfigService,$http) {
    return {
        templateUrl: 'app/views/users_dropdown.html',
        link: function($scope, element, attrs) {
            $scope.getUserDetails = function(user_id){
                console.log(user_id);
            }
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

为此,我在控制台中获得结果{{userList.SessionId}}.不是那个价值.但是当我检查函数传递期望值时. …

javascript function angularjs angularjs-directive

13
推荐指数
1
解决办法
3万
查看次数

如何在角度js中附加到json对象

我有这样的对象 $scope.releases = [{name : "All Stage",active:true}];

我需要向它添加更多数据

[
  {name : "Development",active:false},
  {name : "Production",active:false},
  {name : "Staging",active:false}
]
Run Code Online (Sandbox Code Playgroud)

所以最终的数据应该是这样的

[
   {name : "All Stage",active:true}
   {name : "Development",active:false},
   {name : "Production",active:false},
   {name : "Staging",active:false}
]
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码.但它没有附加.

app.controller('MainCtrl', function($scope) {
  // I am having an object like this
  $scope.releases = [{name : "All Stage",active:true}];
  // I need to appned some more data to it
  $scope.releases = [
    {name : "Development",active:false},
    {name : "Production",active:false},
    {name : "Staging",active:false}
  ]
});
Run Code Online (Sandbox Code Playgroud)

Pluker Link:http …

javascript json append angularjs

12
推荐指数
2
解决办法
5万
查看次数

左加入涌入DB

我是新来的DB.现在我需要将MySQL数据库迁移到InfluxDB中.我选择了涌入数据库,因为它支持SQL查询.但我找不到左连接.我有一个名为statistics的系列,其中包含browser_id,另一个系列包含浏览器列表.如何加入这两个表,如关系数据库概念?我写了这个查询,但它没有给出任何结果.

select * from statistics as s inner join browsers as b where s.browser_type_id  = b.id
Run Code Online (Sandbox Code Playgroud)

统计

在此输入图像描述

浏览器

在此输入图像描述

database join left-join relational-database influxdb

9
推荐指数
1
解决办法
1万
查看次数

从ng-repeat中删除自动排序

我有一个json对象.它不按升序排序.

 $scope.myData = {
        "MAX" : "some value",
        "Forms" : "some value",
        "Grids And Tables" : "some value",
        "Navigation" : "some value",
        "Services & APIs" : "some value"
  }
Run Code Online (Sandbox Code Playgroud)

我使用ng-repeat在我的html模板中显示它.我得到了结果,但订单已按升序改变.

Forms
Grids And Tables
MAX
Navigation
Services & APIs
Run Code Online (Sandbox Code Playgroud)

如何防止角度js自动排序?

检查此链接

angularjs ng-repeat

7
推荐指数
2
解决办法
7543
查看次数

在其click事件上向元素添加类

我是Angular Js的新手.我需要在click事件的元素上添加一个类.我尝试了以下代码.但它没有用.

<html>
<head>
    <style>
        .active{color:red;}
    </style>

    <script src="js/lib/jquery.min.js"></script>
    <script src="js/lib/angular.min.js"></script>
</head>
<body ng-app="MyApp" ng-controller="MyController">

    <div ng-repeat="data in datas">
        <p ng-click='selectMe()'>{{data.name}}</p>
    </div>

    <script>
    var app = angular.module('MyApp',[]);
    app.controller('MyController',function($scope){
         $scope.datas = [{name:"first"},{name:"second"}];

         $scope.selectMe = function (){
            $(this).addClass('active');
         }
    });

    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?是否有必要使用ng-class?怎么做?

angularjs angularjs-ng-click ng-class

6
推荐指数
3
解决办法
5万
查看次数

如何在不创建过滤器的情况下反转角度js中的数组

我在控制器中有一个数组,如下所示

function FooController($scope) {
    $scope.items = ["a","b","c"];
}
Run Code Online (Sandbox Code Playgroud)

我用ng-repeat来显示数据items,

<div ng-app>
    <div ng-controller="FooController">
        <ul ng-repeat="item in items">
            <li>{{item}}</li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我把结果作为a,b,c顺序.我想以相反的顺序显示它.这意味着c,b,a 不改变其在控制器中的顺序不创建过滤器.怎么做?检查此链接

angularjs angularjs-ng-repeat

6
推荐指数
2
解决办法
2万
查看次数

exception.lineNumber 在谷歌浏览器和 Internet Explorer 中返回“未定义”

我需要从 javascript 异常中获取文件名、消息、行号等。我尝试了以下代码。

try {
  alertt("dddd");
} catch (e) {
  console.log("ExceptionType: "+ e.name);
  console.log("Message: "+ e.message);
  console.log("Line No: "+ e.lineNumber);
}
Run Code Online (Sandbox Code Playgroud)

我在 Mozilla Firefox 中得到以下结果

ExceptionType: ReferenceError
消息: alertt 未定义
行号: 4

但是相同的代码在 Google Chrome、Internet Explorer 中给出了以下结果

ExceptionType: ReferenceError
消息:警报未定义
行号:未定义

它没有给出行号。如何解决这个问题?有没有其他获取行号的方法?

我试过e.stack它以字符串形式返回堆栈跟踪。它在 Google Chrome 中给了我以下输出

 ReferenceError: alertt is not defined
    at message (http://localhost/ems-test/js/test.js:4:4)
    at HTMLDocument.<anonymous> (http://localhost/ems-test/js/test.js:14:2)
    at c (http://localhost/ems-test/js/jquery-1.10.2.min.js:4:26036)
    at Object.p.fireWith [as resolveWith] (http://localhost/ems-test/js/jquery-1.10.2.min.js:4:26840)
    at Function.x.extend.ready (http://localhost/ems-test/js/jquery-1.10.2.min.js:4:3305)
    at HTMLDocument.q (http://localhost/ems-test/js/jquery-1.10.2.min.js:4:717) 
Run Code Online (Sandbox Code Playgroud)

和 Firefox 给出了这个结果

message@http://localhost/ems-test/js/test.js:4
@http://localhost/ems-test/js/test.js:14 …
Run Code Online (Sandbox Code Playgroud)

javascript exception-handling cross-browser line-numbers

5
推荐指数
1
解决办法
3283
查看次数

canvas.getContext('2D')返回null值

我创建了一个画布并调用了它的getContext()方法.但它返回null上下文.

这是我使用的代码:

<script>
    window.onload =  init;
    function init(){
        var canvas, context;
        canvas = document.getElementById('canvas');
        context = canvas.getContext('2D');
        console.log(canvas);
        console.log(context);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我在我的控制台中得到了这个:

<canvas id="canvas" width='500' height='250'>This is a canvas</canvas> null
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas

3
推荐指数
1
解决办法
4378
查看次数