我已经使用sammy和把手做了一些路由来渲染。
有了sammy,我可以这样做:
this.get('#/gallery', function(){ //sammy is defined and works
var container = 'container';
renderHandlebars(templates.gallery) //this compiles my Handlebars
gallery(4);
})
这时我可以打电话给画廊(4);并确保渲染已经完成。所以我可以选择DOM元素。我现在决定使用Angular,但我遇到了问题。
var app = angular.module("myApp", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
redirectTo: '/home'
})
.when('/home', {
templateUrl: 'views/home.html'
})
.when('/gallery', {
templateUrl: 'views/gallery.html',
controller: 'GalleryController'
})
.otherwise({
redirectTo: '/'
});
});
我想要的是以相同的方式调用gallery(4)。但如果我在控制器中出现错误就出来了。 我问的是如何在渲染完成后调用它。所以我可以选择用Angular创建的DOM元素。
答案 0 :(得分:0)
您应该使用gallery.html
内的ng-Init directive。像这样,您可以从GalleryController
调用函数来使用get函数。
Html代码:
<div ng-init="GalleryController.someFunction()">
<!--more code-->
</div>
Javascript代码:
angular.module('initExample', [])
.controller('GalleryController', function() {
this.someFunction = function(){
//use your get method here
}
});