여기에서 angularJS를 처음 사용합니다. 기본적으로, 나는 라우팅 서비스를 사용했다. 그래서 나는 HTML 코드가있는 템플릿에서 라우팅을 호출한다. 템플릿의 코드 (슬라이드 쇼 및 다른 많은 것들)를 표시하는 데 필요한 이러한 모든 일반 자바 스크립트 함수도 있습니다.ng-view (angularjs) 내부의 코드에 일반 javascript를 사용하는 방법
내가이 모든 null 오류를 얻었을 때 (내 JS 기능은 여러 요소를 찾을 수 없다.보기/템플릿의 액세스 코드가 없거나로드되기 전에 실행 되었기 때문에) .
내가 그 템플릿에 할당 한 컨트롤러에 모든 자바 스크립트 함수를 붙여 넣으면 작동했습니다. 그러나 나는 그것을하기로되어 있지 않은 느낌을 가지고 있습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까? 감사. 당신이 다른 경로에있을 때 그것들이 실행되어야하는 요소를 찾을 수 없기 때문에
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider){
$routeProvider
.when("/",{
templateUrl:"about.html",
controller:"aboutCtrl"
})
.when("/aboutus", {
templateUrl:"entertainment.html"
})
});
app.controller('aboutCtrl', function($scope){
//placed regular javascript/jquery code here to make it work
});
감사합니다. 나는 더 많은 것을 연구하고 가장 훌륭한 것으로 보이는 첫 번째 해결책을 시도 할 것입니다. – goldensausage
저는 모든 자바 스크립트 코드를 별도의 지시문에 넣을 수있었습니다 (templateUrl을 사용하여 JS 코드 만 포함 된 html 파일을 연결). 그러나 또 다른 문제가 발생했습니다. offsetHeight는 텍스트가있는 특정 div의 높이를보고합니다 (다시 새로 고침 한 후 올바르게 표시됩니다). 이 문제는 이전에 실행하기 전에 모든 것을로드하고 렌더링 할 수있게 해주는 $ (window) .bind ("load", function()을 사용하여 해결되었습니다.)하지만이 함수는 템플릿 내부에서 사용될 때도 전혀 실행되지 않습니다. – goldensausage