SMARTY和控制器init的AngularJS集合

时间:2014-09-27 12:37:15

标签: javascript angularjs smarty

我们只是将我们的电子商务前端完全重建为SMARTY模板引擎,并混合使用AngularJS。我是AngularJS的初学者,想测试一下如何一起使用SMARTY和AngularJS。

所以基本上,我要做的是用对象填充SMARTY数组,然后使用modyfier | jsonify并将数组部分到AngularJS。

<div ng-app="AppController" ng-controller="MainCtrl" ng-init='init( {$output|jsonify} )'>
{{ testInput }}
</div>

无论如何,由于无法找到角度控制器,因此会出现JavaScript错误。

Argument 'MainCtrl' is not a function, got undefined

如果我删除了ng-controller属性,我没有错误,我可以使用ng-repeat循环遍历集合,但是我希望更多地使用控制器并处理一些自定义的东西,如方向等等。最让我烦恼的是控制器似乎未定义,但是我可以很容易地找到在控制台中初始化的应用程序,但由于某些原因不是控制器..

我的代码:

var myapp = angular.module('myApp', []);

myapp.controller('MainCtrl', function ($scope) {
    console.log('MainCtrl initialized');
      $scope.testInput = null;
      $scope.init = function(value) {
        $scope.testInput= value;
      }
});

如何启动此控制器以使其工作以及如何将SMARTY集合解析为angularjs?我无法访问PHP。

2 个答案:

答案 0 :(得分:1)

对于这个非常晚的更新感到抱歉。

但是,如果其他人遇到同样的问题。请记住在SMARTY模板中使用{literal} {/ literal}作为您的javascript。

答案 1 :(得分:0)

尝试改变:

var myapp = angular.module('myApp', []);

为:

var myapp = angular.module('myApp');

如果在这里有效,你有解释:https://stackoverflow.com/a/18378733/1223357