嗯,这给了这个有角度的新手一些白发:
我的常规同位素外部javascript初始化正常开始:
$(document).ready(function() {
// ISOTOPE INITIALISATON AND STUFF HERE
这一切都很好,没有角度。现在,由于我的同位素项目位于单独的portfolio.html页面中,该页面加载到包含ng-view div的主index.html页面中,同位素有时无法初始化。
大约五十五十岁:如果我刷新同位素的作用,那么它就没有了。所以这是因为角度没有准备好渲染DOM。因此,即使我正在等待文档就绪(并尝试文档加载),这也不起作用。
是否有一种简单的方法可以创建我的同位素AFTER我的index.html页面加载了我的portfolio.html页面(我的投资组合包含我的同位素div),与Angular一起?
请注意我不使用角同位素,而只使用常规的metafizzy同位素和角度。
一个简单的解决方案可能很棒: 不知怎的,我必须在Angular完成之后创建我的同位素。但是如何从我的Script.js文件(带有我的Angular脚本的文件)中调用main.js文件中的方法(这是我初始化我的同位素的文件)
如果有任何帮助,这是我的角色剧本:
// script.js
// create the module and name it scotchApp
// also include ngRoute for all our routing needs
var scotchApp = angular.module('scotchApp', ['ngRoute']);
// configure our routes
scotchApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
// route for the about page
.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController'
})
// route for the contact page
.when('/contact', {
templateUrl : 'pages/contact.html',
controller : 'contactController'
});
});
// create the controller and inject Angular's $scope
scotchApp.controller('mainController', function($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});
scotchApp.controller('aboutController', function($scope) {
$scope.message = 'Look! I am an about page.';
});
scotchApp.controller('contactController', function($scope) {
$scope.message = 'Contact us! JK. This is just a demo.';
});
Hmmm.hmmmm。我觉得是时候喝一杯茶了。嗯。 HMM的
期待您的回复!
答案 0 :(得分:0)
我自己解决了。
我只是将这一行添加到我的同位素javascript文件
$(window).load(function() { window.setTimeout(onRenderReadyStartIsotope, 0) });
具有该timedout函数的初始同位素调用。这次不需要我查看指令或改变角度,DOM现在呈现,同位素开始。