2016-03-03 56 views
-1

我在我的角度控制器中有一些代码,我希望这些代码能够在文档上运行,但是我注意到角度在创建dom时运行它。即使它提供了正确的输出,它也会产生一些控制台错误,因为最初图像的src属性值为空。我在我的角度控制器中设置了src属性值。所以最初我得到一些控制台错误。有没有办法在加载DOM结构之前运行控制器?如何在加载DOM之前运行角度控制器?

HTML:

<div class = "tab1 grow"> 
    <a href = "#/tab1" class = "tooltip"> 
     <img ng-src="{{ imageUrlProfile }}"> 
     <span> 
      <strong>Profile</strong><br /> 
     </span> 
    </a> 
</div> 

Controller.js:

application.controller('app', function($rootScope, $scope) { 

     $rootScope.imageUrlProfile = 'images/profile-icon.png'; 
     $rootScope.imageUrlWork = 'images/exp-icon.png'; 
     $rootScope.imageUrlEdu = 'images/edu-icon.png'; 
     $rootScope.imageUrlProject = 'images/project-icon.png'; 
     $rootScope.imageUrlContact = 'images/phone-icon.png'; 

}); 
+0

'所以最初我得到一些控制台errors'有哪些误区?张贴 –

+0

@DivyeshSavaliya'无法加载资源:net :: ERR_FILE_NOT_FOUND'我得到这个,因为页面最初不知道'imageUrlProfile'值。 –

+0

我还没有看到在DOM之前加载它的方式,可能你可以通过手动引导选项来实现,并在DOM加载之前进行关联。但除非确实需要,否则不要推荐它。你可以添加控制台错误和路径图像似乎图像路径问题? – Gary

回答

0

我没有看到你的代码中的任何错误,除了图像URL

$rootScope.imageUrlProfile = 'images/profile-icon.png'; 

确保以上URL是正确的。 Here is the plunker of your code。在控制台中显示以下错误消息。

GET https://run.plnkr.co/gi7myGeYUIlWJtxg/images/profile-icon.png 404 (OK) 

如果图像URL是正确的,我认为它应该工作。

+0

我的图像正在加载。但是我得到了控制台错误,因为它在DOM创建过程中不知道'imageUrlProfile'的值。并且在完成DOM创建后控制器正在执行。以上网址是正确的。 –

+0

我已经更新了抢劫者,请再次检查。我已经添加了'console.log($ rootScope.imageUrlProfile); '在我的plunker中,将此行添加到您的应用程序并发布控制台输出。 我的plunker使用有效的“URL”正常工作。 –