在Angular 1中,我们可以创建一个指令属性.我们如何使用@Input在Angular 2中做到这一点?文档没有提到它.
例如.
Component({
selector: 'my-dir',
template: '<div></div>'
})
export class MyComponent {
@Input() a:number; // Make this a required attribute. Throw an exception if it doesnt exist
@Input() b:number;
constructor(){
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Microsoft Kinect SDK从Kinect获取深度和颜色信息,然后将该信息转换为点云.我需要深度信息在真实世界坐标中,以相机中心为原点.
我见过很多转换函数,但这些函数显然适用于OpenNI和非Microsoft驱动程序.我已经读过来自Kinect的深度信息已经是以毫米为单位,并且包含在11位......或其他内容中.
如何将此位信息转换为我可以使用的真实世界坐标?
提前致谢!
我想在构造函数中的组件上设置字符串属性,但是当我尝试这样的东西时
@Component({
selector: 'wg-app',
templateUrl: 'templates/html/wg-app.html'
})
export class AppComponent {
constructor(private state:string = 'joining'){
}
}
Run Code Online (Sandbox Code Playgroud)
我得到DI例外
EXCEPTION: No provider for String! (AppComponent -> String)
Run Code Online (Sandbox Code Playgroud)
很明显,注入器正试图找到一个"字符串"提供者,但找不到任何.
我应该为这类事物使用什么样的模式?例如.将初始参数传递给组件.
应该避免吗?我应该注入初始字符串吗?
我正在使用带有--harmony标志下的节点的TypeScript(1.6),所以我想将es6模块语法转换为commonjs.
据我所知,我不能用TypeScript 1.6做到这一点.如果我将目标设置为es6,将模块设置为commonjs,则会出现TypeScript错误 -
在定位"ES6"或更高版本时,无法将模块编译为"commonjs","amd","system"或"umd".
为什么TypeScript不会编译为带有ES6目标的commonjs?我想很多人都想这样做,因为节点还不支持ES6模块.
我认为新的moduleResolution编译器选项可能会解决这个问题,但它似乎没有做任何事情.
目前,我不得不使用babel将模块语法转换为commonjs,但我想从我的构建中删除babel,以便我可以利用源映射.
有没有办法实现这个目标?注意:我不想转发到ES5.我希望我的JS在和声标志下作为ES6运行.谢谢!
我不确定这是否可以使用XML/XSD,并且没有太多的运气搜索它.
您是否可以指定XSD,以便在编写XML时,您可以拥有一个必须引用另一个XML元素中包含的值之一的元素?
例如,如果您有这个XML:
<car>Audi</car>
<car>Ford</car>
<car>Honda</car>
<person>
<drives>Audi</drives>
</person>
Run Code Online (Sandbox Code Playgroud)
如何为驱动器指定XSD,使其必须是为汽车输入的值之一?
根据这个Plunkr,ng-init在一个指令中使用不会执行一个分配给内部链接范围的函数,但如果我在控制器中执行它.
有谁能解释一下?
app.js
var app = angular.module('app', []);
app.directive('linkDir', function(){
return {
restrict: 'E',
scope: true,
template: 'Link: <p ng-init="initLink()">{{ linkmsg }}</p>',
link: function(scope){
scope.initLink = function(){
scope.linkmsg = 'link function executed'
}
}
};
});
app.directive('controllerDir', function(){
return {
restrict: 'E',
scope: true,
template: 'Controller: <p ng-init="initController()">{{ controllermsg }}</p>',
controller: function($scope){
$scope.initController = function(){
$scope.controllermsg = 'controller function executed';
}
}
};
});
Run Code Online (Sandbox Code Playgroud)
HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script src="script.js"></script> …Run Code Online (Sandbox Code Playgroud) 我似乎无法获得角度ui bootstraps崩溃指令工作.我已经设置了一个带有最小例子的plunkr,但它仍然没有功能.有人对此有所了解吗?
HTML
<!DOCTYPE html>
<html ng-app="app">
<head>
<link data-require="bootstrap-css@3.1.*" data-semver="3.3.1" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<script data-require="angular.js@*" data-semver="1.3.7" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"></script>
<script data-require="ui-bootstrap@*" data-semver="0.12.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="CollapseController">
<button class="btn btn-default" ng-click="collapsed = !collapsed">Toggle</button>
<div collapse="collapsed">
<div>
<h1>Hello Plunker!</h1>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS
angular.module('app', [])
.controller('CollapseController', function($scope){
$scope.collapsed = false;
});
Run Code Online (Sandbox Code Playgroud) angular ×2
angularjs ×2
babeljs ×1
javascript ×1
kinect ×1
node.js ×1
typescript ×1
xml ×1
xsd ×1