0

我正在开发我的第一个带有模板和路由的 Angular 网站。

我想要一个窗口大小的图像 - 70px

//jquery(这部分单独工作很好,测试了。)

    //Dynamically assign height
function reSize() {
  var windowHeight = $(window).height() - 70;

    $('.home .image img').height(windowHeight);
}

//Initial load of page
$( window ).ready(reSize);

//Every resize of window
$(window).resize(reSize);

我的问题是,当我将 home.html(图片所在的位置并充当首页)加载到 index.html 时,它不会将样式windowHeight应用于图像,但如果我手动调整窗口大小,那么风格适用。

我尝试将我的脚本直接插入 home.html 然后它可以工作,但我希望将 jquery 单独放在 .js 文件中

我的猜测是,在触发调整大小之前,我的脚本不会注册 home.html 已加载到 index.html 中。

注意:所有样式表和脚本都加载在 index.html 头中,而被 ng-view 加载到 index.html 中的页面目前看起来是这样的

<div class="image"><img src="images/56.jpg"></div>

抱歉解释不好,我是新来的,所以我还不完全理解它。

谢谢你。

4

1 回答 1

0

我想有 2 个选项,您可以在其中触发此操作:

关于状态更改成功

$scope.$on('$routeChangeSuccess', function () {
    // run resize function
});

或在视图呈现回调

$scope.$on('$viewContentLoaded', function() {
    // run resize function
});

希望有帮助。

于 2015-04-09T19:13:32.890 回答