我有一个非常愚蠢的问题.考虑以下:
vm.feed = getFeed().then(function(data) {return data;});
Run Code Online (Sandbox Code Playgroud)
getFeed() 返回成功解析的$ q延迟承诺(我在角上).
我的目标是将vm.feed设置为等于成功回调返回的数据值.就像现在一样,代码只是将vm.feed赋予等于$promise返回的对象getFeed().
我知道我可以简单地做:vm.feed = data在已解决的函数内部,但我想理解为什么这段代码不能正常工作.
PD:promise正确解析,即使在解析后,vm.feed仍然等于Promise,而不是数据.我在+10秒后复制了console.log的vm.feed:
Promise {$$state: Object} $$state: Objectstatus:1 value: Object
Run Code Online (Sandbox Code Playgroud)
Promise对象中的value属性包含我想要分配给vm.feed(ei data)的promise的实际解决方案.
谢谢!
我在reactjs-flux编写一个简单的应用程序,一切正常,除了我收到来自reactjs的警告,告诉我我在未安装的组件上调用setState.
我已经弄明白这是因为没有从商店中删除组件被挂钩的changelisteners componentWillUnmount.我知道这一点,因为当我打开监听器列表时,Eventemitter我会看到应该被销毁的监听器,并且当我多次挂载/卸载相同的组件时,列表会变大.
我从我的BaseStore粘贴代码:
import Constants from '../core/Constants';
import {EventEmitter} from 'events';
class BaseStore extends EventEmitter {
// Allow Controller-View to register itself with store
addChangeListener(callback) {
this.on(Constants.CHANGE_EVENT, callback);
}
removeChangeListener(callback) {
this.removeListener(Constants.CHANGE_EVENT, callback);
}
// triggers change listener above, firing controller-view callback
emitChange() {
this.emit(Constants.CHANGE_EVENT);
}
}
export default BaseStore;
Run Code Online (Sandbox Code Playgroud)
我从遇到此错误的组件中粘贴相关代码(但它适用于所有组件):
@AuthenticatedComponent
class ProductsPage extends React.Component {
static propTypes = {
accessToken: PropTypes.string
};
constructor() {
super();
this._productBatch;
this._productBatchesNum;
this._activeProductBatch;
this._productBlacklist;
this._searchById;
this._searchingById;
this.state = this._getStateFromStore(); …Run Code Online (Sandbox Code Playgroud) 我有一个问题,我无法弄清楚.我正在使用bootstrap的旋转木马,一切正常,除了过渡:当滑动过渡开始时,下一个项目出现在myCarousel div之外,之前的活动项目滑出myCarousel div,因为它们被我的下一个项目替换.
这是我的HTML代码:
<div id="myCarousel" class="carousel slide span6">
<div id="carousel-inner">
<div class="active item">
<img src="img/abstract-landscape-paintings-bursting-sun.jpg" />
</div>
<div class="item">
<img src="img/charnwood_forest_landscape.jpg" />
</div>
</div>
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我只使用轮播脚本:
$(document).ready(function() {
$(".carousel").carousel({
interval: 5000,
pause: "hover",
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的问题示例的链接,因此您可以检查我的整个代码:http://todoapp.nfshost.com/slide
谁能看出问题是什么?
谢谢!
嗨,我很快就怀疑这让我很生气.
单击此按钮时,我正在尝试自动向下滚动到按钮.
我已经将我的按钮的y-index值保存在名为scrollIndex的变量上(多亏了offset()方法).
现在我想用这个向下滚动窗口:
var scrollIndex = $('#tourbutton').offset();
$("body").animate({scrollTop:(scrollIndex.top)},500,"linear");
Run Code Online (Sandbox Code Playgroud)
我实际上已经尝试了很多东西,但似乎没有任何工作可以解决它,因为我正在错误地使用scrollTop方法()..
有帮助吗?谢谢!
我的完整代码:
window.onload = initAll;
function initAll() {
changeStyle();
$('#tourbutton').click = hello();
}
function hello() {
var scrollIndex = $('#tourbutton').offset();
$("html, body").animate({scrollTop:(scrollIndex.top)},800,"swing");
//var scrollIndex = $('#tourbutton').offset();
//$("window").scrollTo({top:scrollIndex},800);
}
Run Code Online (Sandbox Code Playgroud)
解决了!我只是在click()里面写了所有内容,如下所示:
function initAll() {
$('#tourbutton').click(function() {
var scrollIndex = $('#tourbutton').offset();
$("html, body").animate({scrollTop:(scrollIndex.top)},800,"swing");
//var scrollIndex = $('#tourbutton').offset();
//$("window").scrollTo({top:scrollIndex},800);
});
changeStyle();
}
Run Code Online (Sandbox Code Playgroud)
现在一切正常,但我不太明白为什么......如果有人理解为什么我无法将click eventHandler链接到外部函数,我会很高兴知道答案.
谢谢大家!
angularjs ×1
carousel ×1
flux ×1
immutable.js ×1
javascript ×1
jquery ×1
list ×1
reactjs ×1
reactjs-flux ×1
scrolltop ×1
slide ×1
transition ×1