什么是角模板中的JST?

时间:2014-07-16 06:23:26

标签: javascript angularjs linemanjs

最近我遇到了一个代码块,在角色 -

模板之前添加了JST

示例 -

$routeProvider .when("/login", { template: JST["app/templates/login"], controller: "LoginController" })

以前,我喜欢这个 -

$routeProvider .when("/login", { template: "app/templates/login", controller: "LoginController" })

角度模板中的JST是什么意思?还有两种风格之间的差异吗?

仅供参考 - 它是应用程序中的代码linemanjs

3 个答案:

答案 0 :(得分:4)

它可能是代码中的哈希对象,包含所有键和值作为html文件的模板URL。

var JST = {
    "app/templates/login":"something.html"
};

$routeProvider
    .when("/login", {
        template: JST["app/templates/login"],
        controller: "LoginController"
    })

答案 1 :(得分:2)

以下是我在Angular中使用JST模板的方法:

app.factory('$jst', ['$sce', function($sce) {
  var methods = {
    template: function(name) { return $sce.trustAsHtml( eval(JST[name])() ) }
  };
  return methods;
}]);

app.controller('SomeCtrl', ['$scope', '$http', '$jst', function($scope, $http, $jst) {
  $scope.template = $jst.template('name-of-my-template');
}]);

...这是我的HTML:

<div ng-controller="SomeCtrl">
  <div ng-bind-html="template"></div>
</div>

在AngularJS中使用JST模板是一种简单而优雅的方式。

PS它也适用于SailsJS。

答案 2 :(得分:1)

您的应用程序正在使用JST模板this page describes them。 JST是一个将模板作为JavaScript函数返回的哈希。通常,这个JST对象(函数的哈希)是在构建时创建的,并保存为应用程序以某种方式包含的JavaScript文件。已编译的JST对象的输入是模板.html文件的列表。