IBM Worklight 6.1 - 成功调用适配器后如何调用 angular.js 的“ng-controller”方法?
Posted
技术标签:
【中文标题】IBM Worklight 6.1 - 成功调用适配器后如何调用 angular.js 的“ng-controller”方法?【英文标题】:IBM Worklight 6.1 - How to call `ng-controller` method of angular.js after a successful adapter invocation? 【发布时间】:2014-03-03 13:06:19 【问题描述】:IBM worklight适配器成功函数后如何调用angular.js的ng-controller
方法?
我正在使用以下功能:
$("#viewCont").bind('click', function ()
var input =
adapter: "sampleAdapters",
procedure: "GetViewList",
parameters: [empId]
;
WL.Client.invokeProcedure(input,
onSuccess: function viewinAngular($scope, data)
demoArray = ["Dynamic Group Header - 1", "Dynamic Group Body - 1", "Dynamic Group Header - 2", "Dynamic Group Body - 2"];
qtyArr = [];
for (var i = 0; i < demoArray.length; i++)
var dataObject = new Object();
dataObject.dateLocalForamt = '123456';
dataObject.statusString = 'canclelled';
dataObject.reqstNumbaa = '123456789';
dataObject.Product_Desc = 'asdf';
dataObject.Quantity = 10;
qtyArr.push(dataObject);
$scope.data = qtyArr;
,
onFailure: authFailure,
timeout: 180000
);
function authFailure(response)
WL.SimpleDialog.show("Alert", 'Check your network connectivity.', [
text: "OK",
handler: function ()
]);
【问题讨论】:
你看过这里吗:***.com/questions/17204562/… 你的代码失败了吗?以什么方式?有错误吗?并且一定要查看@nspeete 的建议答案。 @nspeete:我对此进行了调查,但如果我使用 $http,那么我将得到正确的答案,因为工作灯需要通过适配器调用来请求每个服务。一旦我调用该过程将在回调函数 Onsuccess 中获得输出,我将如何使用 Angular js 在 html 中显示它? @nspeete:我无法得到结果背后的原因是 ng-controller 函数将在 js 加载时执行,但在这里我需要在适配器成功后调用该函数,请尽快帮助解决。 【参考方案1】:在适配器调用的 onSuccess 回调函数中,您可以执行以下操作:
var scope = angular.element(document.getElementById("exampleDivId")).scope();
scope.$apply(function()
contact =type:"phone",value: itemAFromAdapterResponse;
scope.settings.addContact(contact); //html will update based on ng-controller "setting's" function addContact
scope.settings.name = itemBFromAdapterResponse; //will update name in html as the response from your adapter invocation
)
【讨论】:
: 很明显我们需要在调用 ng-controller 函数之前调用 bootstrap,谢谢它成功了以上是关于IBM Worklight 6.1 - 成功调用适配器后如何调用 angular.js 的“ng-controller”方法?的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight 6.1 - 升级到 v6.1 后,iOS 5 中的适配器调用失败
IBM Worklight 6.1 - “Ecma 错误:TypeError:无法调用对象中的属性 <function>”
IBM Worklight 6.1 - 如何在较慢的网络中处理超时?
IBM Worklight 6.1 [收到来自客户端的错误令牌]