【发布时间】:2016-01-05 12:09:10
【问题描述】:
我在使用 Visualforce 远程处理和 angularjs 时遇到了问题。每当我将控制器代码放在单独的 js 静态资源中时,我的代码都不起作用。请帮我解决这个问题。
我的 Visualforce 页面
<apex:page controller="ApexRemoteActionPageController" docType="html-5.0">
<html>
<body>
<div class="bootstrap" ng-app="ngApp" ng-controller="ContactCtrl" >
<h1 align="center">Click The Button</h1>
<button ng-click="getContacts()" class="btn btn-lg btn-default btn-block">Get Contacts</button>
<p>
<ul>
<li id="{{current.Id}}" ng-repeat="current in contacts" ng-class-even="'rowEven'">{{current.Name}}</li>
</ul>
</p>
</div>
<apex:stylesheet value="//cdn.jsdelivr.net/webjars/bootstrap-sf1/0.1.0-beta.6/css/bootstrap-namespaced.css"/>
<apex:includeScript value="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.11/angular.min.js"/>
<apex:includeScript value="{!$Resource.ContactCtrl}" />
</body>
</html>
</apex:page>
我的控制器静态资源
<script>
var ngApp= angular.module("ngApp", []);
ngApp.controller("ContactCtrl", ["$scope", function($scope)
{
$scope.contacts = [];
$scope.getContacts = function() {
ApexRemoteActionPageController.myContacts(function(result, event) {
$scope.contacts = result;
$scope.$apply();
});
}
}]);
</script>
我的 Apex 控制器
global class ApexRemoteActionPageController {
@RemoteAction
global static List<Contact> myContacts()
{
return [select id, name, email from Contact Order By LastModifiedDate DESC LIMIT 30];
}
}
每当我将控制器逻辑放在同一个 Visual Force 页面中时,它都可以工作,但是当我将控制器脚本移动到单独的 js 静态资源时,它不会。
【问题讨论】:
标签: angularjs salesforce visualforce