我们只是将我们的电子商务前端完全重建为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。
答案 0 :(得分:1)
对于这个非常晚的更新感到抱歉。
但是,如果其他人遇到同样的问题。请记住在SMARTY模板中使用{literal} {/ literal}作为您的javascript。
答案 1 :(得分:0)
尝试改变:
var myapp = angular.module('myApp', []);
为:
var myapp = angular.module('myApp');
如果在这里有效,你有解释:https://stackoverflow.com/a/18378733/1223357