Child pages
  • Angular services

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titletestservice.spec
{
	"name": "mypackage-testservice",
	"displayName": "Test service that says helloworld",
	"definition": "servoyservices/testservice/testservice.js",
	"libraries": [],
	"model":
	{
		"text": "string"
	},
	"api":
	{
	 	"talk": {
	        },
		"helloworld": 
	   	{
	    	"parameters":
	    	[
		    	{
					"name":"text",
					"type":"string"
				}
			]
		}
	}
}

...

Code Block
titletestservice.js
angular.module('testservicemypackageTestservice',['servoy'])
.factory("testservicemypackageTestservice",function($window,$services) {
	var scope= $services.getServiceScope('testservicemypackageTestservice');
	return {
		talk: function() {
			alert("talk: " + scope.model.text);
			scope.model.text = "something else"
		},
		/**
		 * Say hello.
		 * @param {string} name your name
		 */
		helloworld: function(name) {
			alert("Hello " + name);
		}
	}
})
.run(function($rootScope,$services)
{
	var scope  = $services.getServiceScope('testservicemypackageTestservice');
    // watch the whole model (you can also use 'model.text' to only watch the text property)
	scope.$watch('model', function(newvalue,oldvalue) {

		// handle state changes
	}, true);
})

...