我们可以有一个发射器的多个侦听器,每个都在不同数量的参数上工作吗?
例如,让事件发射器像这样:
evetE.emit('pre', global, file, self);
corresponding event listeners:
//Listener 1
m.eventE.on('pre', function() {
//TODO
})
//Listener 2
eventE.on('pre', function(context, file, m){
console.log(context.ans);
});
//Listener 3
eventE.on('pre', function(context){
console.log(context.ans);
});
//Listener 4
this.eventE.on('pre',function (context) {})
Run Code Online (Sandbox Code Playgroud)
如果以上是真的,那么哪个参数转到哪个监听器?
我正在开发一个带有可排序,可停靠,可浮动的小部件的仪表板.我正在使用的一个控件在结束body标记之前在DOM的底部生成浮动小部件作为HTML .这有效地从窗口控件中生成的控制器范围中删除了窗口控件中执行的操作.
我正在使用controllerAs可用的语法开发此仪表板控制器,但是当外部组件执行影响视图数据的操作时,我无法弄清楚如何使用此语法有效地更新视图?
注意:这不是我面临的唯一迫使我手动更新主视图的方法.页面上的其他地方也有指令执行影响视图的操作.
理想情况下,我永远不必手动更新视图,因为我将使用内置的Angular命令中发生的所有命令来影响摘要循环 - 但这对我来说不是一个选项.
所以......如果我使用的话,我$scope可以简单地做到:
$scope.$digest
Run Code Online (Sandbox Code Playgroud)
要么
$scope.$apply
Run Code Online (Sandbox Code Playgroud)
但是如何使用控制器实现相同的效果呢?
var vm = this;
vm.array = [item, item];
vm.something = something;
//External something changes something on a vm.variable
vm.update! //How??
Run Code Online (Sandbox Code Playgroud) 因此,当我一直在阅读/学习课程及其中的方法时,我发现将方法声明为公共方法与私有方法之间的实际差异很少.
我知道不同之处在于私有类只能在类中访问,而公共方法可以从类外部的代码(其他类,函数)访问.但我真正想知道的是:
此外,我不知道它是否重要,但我在Web应用程序环境中主要学习VB.Net和C#,因此具体到那将有所帮助.
目标
我正在使用jQuery动画制作可折叠的侧边栏.我希望侧边栏上有垂直文本作为标签,可以交换animateOut/animateIn效果.
通常情况下,我会使用我只是垂直交换的文本图像,并在动画中将其切换出来,但是对于CSS3转换,我想让它工作.
问题
我面临的问题是,在旋转的容器上设置高度使其水平扩展(因为它旋转了90度),这样就不起作用了.然后我尝试设置宽度(希望它会垂直扩展,充当高度),但这会产生奇怪的效果,导致我父容器的宽度也会扩展.
固定?
如何在不影响父容器宽度的情况下在旋转(变换)元素上设置高度?到目前为止,我一直无法做到这一点.
实例
这个collapse-pane类是我旋转的,包含我的文本里面的范围.您会注意到它有一个宽度设置,它会扩大边框,但也会影响父容器.
代码:
CSS:
.right-panel{
position:fixed;
right:0;
top:0;
bottom:0;
border:1px solid #ccc;
background-color:#efefef;
}
.collapse-pane{
margin-top:50px;
width:30px;
border:1px solid #999;
cursor:pointer;
/* Safari */
-webkit-transform: rotate(-90deg);
/* Firefox */
-moz-transform: rotate(-90deg);
/* IE */
-ms-transform: rotate(-90deg);
/* Opera */
-o-transform: rotate(-90deg);
/* Internet Explorer */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.collapse-pane span{
padding:5px;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div class="right-panel">
<div class="collapse-pane">
<span class="expand">Expand</span>
</div>
<div style="width:0;" class="panel-body">
<div style="display:none;" class="panel-body-inner">
adsfasdfasdf …Run Code Online (Sandbox Code Playgroud) 我在这个网站上看到了这个进度条形码.
我想要做的是,有一个3分钟的倒计时,并显示剩下多少分钟和秒.所以,而不是显示百分比,我想显示剩余时间.
我使用以下代码:
JS
progress(100, $('#progressBar')); // This is what the timer should update each second
function progress(percent, $element) {
var progressBarWidth = percent * $element.width() / 100;
$element.find('div').animate({ width: progressBarWidth }, 500).html(percent + " minutes/seconds to go");
};
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="progressBar">
<div></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#progressBar {
width: 923px;
margin: 10px auto;
height: 22px;
background-color: #0A5F44;
}
#progressBar div {
height: 100%;
text-align: right;
padding: 0 10px;
line-height: 22px; /* same as #progressBar height if we want text …Run Code Online (Sandbox Code Playgroud) 我最近正在阅读John Papa舆论的AngularJS风格指南,并注意到他在控制器上的惯例:
/* recommended */
function Customer () {
var vm = this;
vm.name = {};
vm.sendMessage = function () { };
}
Run Code Online (Sandbox Code Playgroud)
当它在控制器中使用时它可以正常工作,因为你可以做这样的事情(他的例子):
<!-- recommended -->
<div ng-controller="Customer as customer">
{{ customer.name }}
</div>
Run Code Online (Sandbox Code Playgroud)
但是我更喜欢它如何与依赖于这个控制器的指令一起工作.例如,$scope在我的控制器上使用我可以这样做:
testModule.directive("example", function(){
return{
template: "Hello {{customer}}",
controller: "exampleCtrl"
}
});
testModule.controller("exampleCtrl", exampleCtrl);
function exampleCtrl($scope){
$scope.message = "Display this";
}
Run Code Online (Sandbox Code Playgroud)
但我不能这样做this.message:
testModule.directive("example", function(){
return{
template: "Hello {{customer}}", //Doesn't work!
controller: "exampleCtrl"
}
});
testModule.controller("exampleCtrl", exampleCtrl);
function exampleCtrl(){
var vm …Run Code Online (Sandbox Code Playgroud) 我在visual basic中为webservice生成了一个类文件,我试图用它来连接到第三方应用程序进行身份验证。
当我运行命令行命令为 web 服务生成类文件时,我还发现了一个用它生成的 output.config 文件。
这个文件的作用是什么,我应该把它放在哪里以确保应用程序可以与网络服务成功通信?
“我应该把它放在哪里”我的意思是,它应该和 webservice 类文件放在同一个文件夹中吗?
谢谢!
我正在尝试实现Footable,一个用于使表响应的JQuery插件.Footable有一个附加组件可以添加分页.[演示]
和(http://fooplugins.com/footable/demos/paging.htm)使用分页插件.我尝试过这个演示,但我的分页是一个垂直的无序列表.按钮功能但难看.这是一个链接图像,我不能在这里发布,因为我的回复不够高.
这是我的表代码:
<table class="table table-hover" ng-show='form.length>0' data-page-navigation=".pagination">
<thead>
<th ng-repeat="(key, formAttr) in form | orderBy:'attributes.order'" >{{formAttr.attributes.name}}<br/>({{formAttr.type}})</th>
<th>Submission Time</th>
</thead>
<tbody>
<tr ng-repeat="(key, response) in formResponses">
<td ng-repeat="(key, formAttr) in form | orderBy:'attributes.order'">{{$parent.response.results[formAttr.att_id]}}</td>
<td>{{response.submission_time}}</td>
</tr>
</tbody>
<tfoot class="">
<tr>
<td colspan="5">
<div class="pagination pagination-centered"></div>
</td>
</tr>
</tfoot>
</table>
Run Code Online (Sandbox Code Playgroud) 我有一个vanilla JavaScript函数来测试向DOM添加大量元素:
var start = new Date().getTime();
var blah;
var div = document.getElementById("me");
for (i = 0; i < 5000; ++i) {
div.innerHTML += "<div>" + i + "</div>";//Simply add to div.
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Run Code Online (Sandbox Code Playgroud)
Chrome IE10
------ -----
Vanilla 39 130 (seconds)
Run Code Online (Sandbox Code Playgroud)
for (i = 0; i < 5000; ++i) {
$("#me").append("<div>" + i + "</div>");//Now using append instead.
}
Run Code Online (Sandbox Code Playgroud)
Chrome IE10 …Run Code Online (Sandbox Code Playgroud) 我尝试了很多不同的代码块,但我无法让它工作.我正在尝试做一些非常简单的事情 - 在2个图像之间切换点击.我在这个论坛上尝试了很多解决方案但无济于事.当页面在iframe中时,它是否不同?图像可能存在路径问题吗?
继承我的代码:
JS
$("#infoToggler img").click(function() {
window.alert('hi');
$(this).find('img').toggle();
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="infoToggler">
<img src="bkramer1.jpg" />
<img src="bkramer2.jpg" style="display:none"/>
</div>
Run Code Online (Sandbox Code Playgroud) 我有一个客户希望有一个网站,其中包含一个相当简单的cms驱动的网站,可以对每日报告进行排序和显示.该网站将要求订阅,包括会员资格,免费试用等...
最初我打算用PHP编写网站,因为没有一个要求太重,我对它非常有经验.然而,在与客户交谈后,他与拥有C++产品的人密切合作,该产品提供的工作流程包括处理订阅,登录和试用的整个过程,并且(显然)可以在Web平台上使用.
这引发了我最初的计划,因为即使我知道C++,我也从未将其部署在网络服务器上或让它与PHP通信.我已经用PHP编写了大量的网站,所以不想重写.
我可以在同一台服务器上进行两次通信吗?需要做什么?是值得花时间还是我应该决定废弃PHP并使用C++?或者我应该告诉我的客户他是疯了吗?
这就是我现在关于该项目的所有信息.不确定我是否可以提供更多信息,但会在需要时尝试.
谢谢你的所有答案.
javascript ×7
jquery ×5
angularjs ×3
vb.net ×2
c++ ×1
class ×1
css ×1
css3 ×1
eventemitter ×1
footable ×1
html ×1
image ×1
methods ×1
mocha.js ×1
node.js ×1
oop ×1
pagination ×1
php ×1
protractor ×1
web-services ×1
webserver ×1