【发布时间】:2014-07-12 06:35:34
【问题描述】:
我有一个模型问题:
<div ng-model="currentAudio">...</div>
我有一个按钮(在上面模型的 div 中和 ng-repeat 中):
<button ng-click="changeStuff(myAudioObj)">My Button</button>
当我单击按钮时,更改内容会更改 currentAudio 模型,我的 GUI 会显示更改(我显示对象的 id)。
但我的问题是,当我的指令更改“currentAudio”时,我尝试用我的按钮再次更改它,更改没有显示。
MyApp.directive('audioplayer', function () {
return {
link: function (scope, element, attrs) {
element.bind('ended', function (evt) {
PlayNextAudio(scope);
});
}
};
});
我的 PlayNextAudio(scope) 方法分配了 scope.currentAudio = myCurrentAudio,它在遍历列表时工作正常,但是当我停止它并尝试单击我的按钮时,它不再改变。
就好像它在某个其他线程上并卡在指令线程上。我的控制台输出显示按钮正确分配给我的 currentAudio 模型。
编辑:我添加了:
scope.$apply(function () {
scope.changeCurrentAudio(scope.myCurrentAudio);
});
但没有运气。 感谢您的帮助。
【问题讨论】:
-
能否请你设置一个plunker,没有得到PlayNextAudio和changeCurrentAudio之间的关系或提供完整的代码或plunker可能是
标签: angularjs angularjs-directive angularjs-scope angular-ui