Javascript 角度:将图像从异步引用加载到指令中 我正在学习角度,我想知道我接近的方式是否好(也许直到建立了更坚实的基础)。

Javascript 角度:将图像从异步引用加载到指令中 我正在学习角度,我想知道我接近的方式是否好(也许直到建立了更坚实的基础)。,javascript,angularjs,Javascript,Angularjs,我正在从自定义指令的序列和树中创建一个DOM,每个指令都添加自己的内容。应用程序最初加载JSON 在JSON中,有对图像URI的引用。由于JSON加载是异步的,指令html模板已经添加到DOM中,而不引用图像,因为在JSON提供引用之前,它不知道加载什么 加载多个JSON文件后,I$从$rootScope广播一个事件,该事件由侦听子作用域拾取 angular.module('applicationDemo').directive("imageContainer", ['ModelFactory'

我正在从自定义指令的序列和树中创建一个DOM,每个指令都添加自己的内容。应用程序最初加载JSON

在JSON中,有对图像URI的引用。由于JSON加载是异步的,指令html模板已经添加到DOM中,而不引用图像,因为在JSON提供引用之前,它不知道加载什么

加载多个JSON文件后,I$从$rootScope广播一个事件,该事件由侦听子作用域拾取

angular.module('applicationDemo').directive("imageContainer", ['ModelFactory', 'Constants', function(modelFactory, constants) {
    return {
        restrict: "E",
        template: "<img ng-src='images/{{theImage}}' width='300'>",
        controller: function($scope) {
            $scope.$on( constants.events.ALL_JSON_LOADED, function() {
                $scope.theImage = modelFactory.getPageDataByType('pageStructure').imageId;
            })
        },
        controllerAs: "imageCtrl"
    }
}]);
angular.module('applicationDemo')。指令(“imageContainer”,['ModelFactory','Constants',函数(ModelFactory,Constants){
返回{
限制:“E”,
模板:“”,
控制器:功能($scope){
$scope.$on(constants.events.ALL_JSON_加载,函数(){
$scope.theImage=modelFactory.getPageDataByType('pageStructure').imageId;
})
},
controllerAs:“imageCtrl”
}
}]);
因此,请与社区核实:

  • 图像引用绑定到异步设置的imageId的方式是否正确
  • 我已经习惯了在可能的情况下使用常量。我可以通过工厂服务引用这些吗
  • 在Angular 1.5中(我目前正在学习的内容),从$rootScope进行$broadcast可以吗,还是这开始被认为是一种不好的做法

  • 提前感谢您的异步建议:-)

    您的指令缺乏通用性。如果将其中两个放在一页上会发生什么?您的指令缺乏通用性。如果你把其中两个放在一页上会发生什么?