2016-05-25 6 views
1

私のプロジェクトはnodeJs + angularJs + htmlです。javascriptがuiルータービューで動作しない

main.htmlを

<html> 
    <head> 
     <script src="angularJs.js"></script> 
     <script src="ui-router.js"></script> 
     </head> 
    <body ng-app="myApp"> 
     <div ui-view></div> 
    </body> 
<script> 
    var myApp = angular.module('myApp',['ui.router']).config(
      function($stateProvider,$urlRouterProvider,$httpProvider){ 
       $stateProvider.state('index',{ 
       url:'/child', 
       templateUrl: '/child' 
       } 
     )}); 
    </script> 
</html> 

MyProjectと/ルート/ index.js

var express = require('express'); 
var router = express.Router(); 
router.get('/child',function(req, res, next) { 
res.render('back/childPage', { title: 'Express' }); 

})。

MyProjectと/ビュー/バック/ childpage.html

<div> 
    [email protected]@ 
</div> 
<script type="text/javascript">alert(1);</script> 

MyProjectと/ app.js

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var bodyParser = require('body-parser'); 
var ejs = require('ejs'); 
// view engine setup 
app.engine('.html', ejs.__express); 
app.set('view engine', 'html'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(express.static('public')); 

var routes = require('./routes/index'); 
app.use('/', routes); 
var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 

私はページ(http://localhost:3000/#/child)にアクセスする際、childPage.html内のJavaScriptコードが動作しません。 。 nodeJsのルーターページ(http://localhost:3000/child)にちょうどアクセスすれば、javascriptコードは正常に動作します。

誰か知っていれば、私に答えてください。私のプロジェクトでもっとコードが必要な場合は、教えてください。ありがとうございました。

+0

ui-viewでページにアクセスすると、ページ内のjavascriptコードが機能しません。私がnodeJsのルーターページにアクセスするだけで、javascriptコードがうまく動作します。これはどういう意味ですか?質問をよりわかりやすくするために書き直せますか? :) –

+1

コンソールに表示されているjavascriptエラーを投稿してください。 –

+0

私はコンソールをチェックしましたが、それは何もありません。 JavaScriptのコードはexcueteではない –

答えて

0

haha​​hhaahaha、私は答えを得る、ちょうどコントローラを追加します。

var myApp = angular.module('myApp',['ui.router']).config(
     function($stateProvider,$urlRouterProvider,$httpProvider){ 
      $stateProvider.state('index',{ 
      url:'/child', 
      templateUrl: '/child' 
      controller:function(){ 
      //you can operate element in childPage.html 
      } 
      } 
    )}); 
+0

私はあなたのtemplateUrlが正しくないと思いますが、新しい質問を投稿する前にチュートリアルを最初にお読みください。 –

+0

私の英語は良くないので、ここでコードを書くだけです。 templateUrlはnodeJsルータを指しています。それはうまく動作しており、テストしました。 –

関連する問題