我正在努力使SystemJS与Typescript一起工作,但它们似乎相互冲突.
如何在没有与Typescript上的关键字冲突的情况下利用System.js中的自动加载?使用import/require使得Typescript使用它自己的方式来加载和引用文件,虽然它翻译export为module.exports = ...,但它不会做同样的事情import
是否有可能实现这一点,或者我将不得不等待Typescript支持ES6关键字?
目前,我有这个选择器:
.form .mid td p:last-child:not(:only-child) {
margin-bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)
它没有按预期工作.我想删除边距,如果P内部有多个边距TD
我有一个关于ArrayObject的问题.我想在ArrayObject类中使用array_slice而我不能.有没有办法做到这一点,而无需为实现ArrayObject的类编写"切片"方法?
当执行 时$(element).on('customevent',function(){});,每个绑定 的元素customevent也会触发。这大致与 Pub/Sub 一样工作,并且似乎没有顺序或优先级。我想做的是,实现我自己的回调队列,但是,具有可调整的优先级(就像Wordpress一样,你可以设置钩子优先级)。因此,数字越大,优先级越高,数字 0 是通用的,最后执行。
给定示例$(element).on_priority(10, 'customevent', function(){});和$(element).on_priority(0, 'customevent', function(){});,10优先级将首先执行相同的事件 customevent,并且可能会或不会取消优先级事件的执行0。
我怎样才能实现它?我在尝试可视化回调流程时遇到问题
到目前为止,我是这样想的:
var callbacks = {
'customevent': {},
'customevent2': {
0: [{element: $element, fn: function(), data:{}}, {element: $element, fn: function(), data:{}}],
10: [{element: $element, fn: function(), data:{}}],
20: [{element: $element, fn: function(), data:{}}]
}
};
Run Code Online (Sandbox Code Playgroud)
方向是对的吗?从性能角度来看,它应该不会有太大影响,问题是一遍又一遍地迭代对象。这样做的问题是,我无法取消注册先前设置的事件或设置每个优先级内的回调数组的顺序(甚至重新排序)
我正在尝试重载一个函数,因此在其他地方使用该函数时,它将正确显示结果,即项目数组、void 或单个项目:
getSelected(type): void;
getSelected(type): IDataItem;
getSelected(type): IDataItem[];
getSelected(type:string, one:boolean = true):any {
if (!type) {
return;
}
if (one) {
return _.reduce<IDataItem, IDataItem>(sections[type], (current: IDataItem, p: IDataItem) => {
return p.selected === true ? p : current;
}, void 0);
}
return _.filter<IDataItem>(sections[type], (p: IDataItem):boolean => {
return p.selected === true && p.enabled === true;
});
}
Run Code Online (Sandbox Code Playgroud)
它给了我错误“错误 TS2175:重载不能仅因返回类型而异。” . 那么,我如何才能表明返回类型的多种可能性呢?
我有一个指令,它将元素放在一个隔离的作用域上并对它应用一个控制器,因此它可以处理状态,AJAX调用和验证.
<div login>
<div class="dropdown" ng-click="loginctrl.showForm()">
Login <span class="caret"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当前的转换元素变为:
<!-- login -->
<div class="login">
<div class="dropdown" ng-click="loginctrl.showForm()">
Login <span class="caret"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但我有一个templateUrl我想要附加指令的内容,所以我正在使用transclude: 'element'精细的转换:
angular
.module('Login.module', [])
.controller('LoginCtrl', function(){
this.login = function(){
// do ajax calls for login
};
this.logout = function(){
// do ajax calls for logout
};
this.facebook = function(){
// do ajax calls for facebook login
};
this.showForm = function(){
// shows the template form
};
this.user = {}; // …Run Code Online (Sandbox Code Playgroud) 这段代码有什么问题:
if($(window).scrollTop() > 290) && ($(window).width > 500) {
} else {
}
Run Code Online (Sandbox Code Playgroud)
我想检查两者 - 屏幕的宽度和滚动大小
angularjs ×2
javascript ×2
jquery ×2
typescript ×2
arrayobject ×1
arrays ×1
callback ×1
commonjs ×1
css ×1
html ×1
overloading ×1
php ×1
queue ×1
slice ×1
systemjs ×1