1

テンプレートエンジンには、meanIOの推奨モジュール「swig」を使用しています。しかし、角度のある基本的なデータバインディングを取得することに成功できませんでした。

以下 NodeJS Platform 上の Express サーバーの設定:

 app.engine('html', consolidate[config.templateEngine]);
 app.set('view engine', 'html');
  app.get('/', function(req,res){
    var values = {
        appName : config.appname
    }

    res.render('page1');
    //res.redirect('/login');
});

上記の設定は、テキストボックスを埋めるときに実際の角度モデルをレンダリングしません。

index.Html

 <div>
  <label>Name:</label>
  <input type="text" ng-model="yourName" placeholder="Enter a name here">
  <hr>
  <h1>Hello {{yourName}}!</h1>

以下の設定は私にとって非常にうまく機能します。

app.engine('html', require('ejs').renderFile); // to render html files in response
app.set('view engine', 'html');

{{}}内のng-modelデータをレンダリングしないswigモジュールの問題は何ですか???

4

3 に答える 3

8

SwigのデフォルトvarControlsを、Angular が使用するものとまったく同じにならないように変更します。彼らは衝突しています。http://paularmstrong.github.io/swig/docs/api/#SwigOpts

var swig = require('swig'); 
swig.setDefaults({ varControls: ['<%=', '%>'] }); // or anything besides ['{{', '}}']
于 2014-04-25T15:54:59.633 に答える
0

次のスクリプト ブロックを含めることで、angular アプリのデフォルトのレンダリング動作を変更することもできます

    <script type="text/javascript">
        var myApp = angular.module('myApp', [], function ($interpolateProvider) {
            $interpolateProvider.startSymbol('[{');
            $interpolateProvider.endSymbol('}]');
        });
    </script>
于 2014-07-19T19:06:19.437 に答える