我在我的应用程序中使用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) 我是InfluxDB的新手.我找不到有关在Windows上安装InfluxDB的任何细节.有没有办法在Windows机器上安装它,还是需要使用Linux服务器进行开发?
我创建了一个使用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}}.不是那个价值.但是当我检查函数传递期望值时. …
我有这样的对象 $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 …
我是新来的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)
统计

浏览器

我有一个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自动排序?
检查此链接
我是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?怎么做?
我在控制器中有一个数组,如下所示
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 不改变其在控制器中的顺序或不创建过滤器.怎么做?检查此链接
我需要从 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) 我创建了一个画布并调用了它的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)