【发布时间】:2016-07-07 04:32:53
【问题描述】:
我遇到了一个问题并创建了一个JSFiddle to demonstrate
var myApp = angular.module("myApp", []);
myApp.component("bar", {
transclude: true,
template: '<div ng-transclude></div>',
controller: function ($scope, $element, $attrs) {
$scope.msg = "Hello";
setTimeout(function(){
$scope.msg = "Goodbye";
alert($scope.msg);
}, 3000)
}
});
HTML:
<body ng-app="myApp">
<bar>
{{ $parent.msg }}
</bar>
</body>
如您所见,我有一个作用域变量 (msg),我在完成一些工作后会对其进行更新(在本例中为 setTimeout)。 HTML 中似乎只有单向绑定,因为当组件的作用域更新时,“再见”永远不会呈现给视图。
我使用$parent 是否正确?我的范围错了吗?我是否正确处理了嵌入?
编辑
我应该说setTimeout 只是一个例子,在我的真实世界案例中,我正在尝试为http://www.createjs.com/ 添加组件
我实际上是在向 PreLoadJS LoadQueue http://www.createjs.com/docs/preloadjs/classes/LoadQueue.html 添加一个“完整”事件侦听器,而不是 setTimeout
【问题讨论】:
标签: javascript angularjs scope components createjs