I´d like to know if exists a better way to render a view like this:
For the first load I need bring data from Controller like usual but after apply a filter in same page I need to start use AngularJS and never more uses Razor.
Is there a way to do that ?
Thanks for all.
Yes. you can do that.
Basically, you'd need to add the line below in your view. After you do that, the json is going to be available to the DOM / javascript and angular can take it from there. Hope this help
var json = '#Html.Raw(Model.MyJsonStringForMyCoolAngularJsApp)';
There are multiple ways to implement ASP.Net MVC with AngularJs.
I personally like Mini SPA (Silos). You can watch Miguel A Castro's video here.
You can also download the source at his website.
What it does is when a request comes in, it goes to ASP.Net MVC Route first. Then, Angular Route takes over the rest. It is a very slick design.
FYI: I also use Angular.Net Helpers to generate strongly typed views.
You could use WebAPI project in visual studio to exchange data between frontend and backend. It would go stateless, so to secure the data, you could use a mechanism like JWT.
The frontend would exchange JSONS from/to the backend using REST apis.
Yes. You can make angular views and exchange data using $http.get(/controller/method/). You can also configure routing using ngRoute.
Related
I plan to use Spring MVC for a JEE application and i'm still debating whether to use AngularJS or PrimeFaces for presentation. My question is :
I've done some research concerning AngularJS with Spring MVC and i have found pretty much everyone talking about using REST API in Spring to make the connection with AngularJS pages(?). Is that the only way to use these two technologies together ?
In order to make the spring controller/methods to be used as REST API, all you need to do is, annotate the controller with #RestController annotation.
Also in order to make the Java object to JSON and vice versa you can use Jackson API. Adding this snippet in your XML file and relevant dependency/jar in project will help you transfer data back and forth easily.
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
No, not necessary. Your angular frontend will be expecting JSON data to render. As far as you can call your service be it any api and it (api) can return JSON it is good.
but rest is a preferred option for using angular as it is simpler to be configured.
I am working on an App which is going to be huge.This app is using Laravel for backend and currently uses Angular to load views which i believe is not suitable for a large application.I would like to rewrite the code to load the views using Laravel's Blade engine.
I have gone through this:
What application structure to use with AngularJS and Laravel?
I am interested in the second option provided in the answer but have no idea how to implement it in my existing application.
Please suggest me what changes do i need to do.
Thanks in advance.
Currently I have an application built with Angular 2 (all the front-end side) and Symfony 3 (web framework) . I have defined each view as an Angular application.
I think it's the time to migrate to a Single App but I have some questions before I venture into the lion's den.
If a user change manually the URL, of course, they, should enter to the requested URL, but how can angular know which url is trying to open?
I should create multiple controllers or only one that catch all the requests?
If none of above are the right way, please, can you suggest any way to do it?
Thank you so much.
If you're trying to build a Single Page application, it means that your routes will be managed by your front-end, here by Angular 2 via #angular/router.
Symfony can then be only used as a back-end web service (i.e. a Restful API) that will answer to your front-end calls via JSON responses. Depending on the size of your API, you may wish to use FOSRestBundle for that purpose.
So you don't have to worry about Symfony routing interpretation since your urls will be managed by Angular router. Symfony routes will be called directly by your Angular application to get/post/put/delete/patch your back-end data.
UPDATE
To answer you comment, a user who directly enters a URL will simply see the page you linked to this url via Angular routing, there is (almost) no difference between front-end and back-end routing.
If you want to dive deeply in how hash routing works in javascript, you can check this article.
To see a real-life example of a SPA with full Angular routing, ga.me is a good start.
This is not a programming question. If it is not appropriate to post it here, just advise me some place worth to share this.
What would be best to know in order to startup a project in Cordova. What i need to know is that in order to create a working web and android app what should i use?
So far
I use Cordova.
Ionic for GUI.
PHP and MySQL for back end
Angular JS for client side and controller for the app.
JSON
Do I have to use AJAX as well? if so, where would it fit?
"Do I have to use AJAX as well? if so, where would it fit?"
Yes, you should build a Single Page Application inside Cordova using any framework that you desire. Ionic/Angular is a valid choice here, other options include JQuery/Bootstrap, React JS, Framework7, OnsenUI and pretty much any combination of JS single page application framework and mobile focussed web front end framework that you like and can make work together.
For going beyond what the web view can do you'll use off the shelf plugins, or write your own which will need Java / Objective-C / C# or Swift skills depending on which platforms you're using.
As you want to be building a single page application you will need to make AJAX calls to get resources from servers, call APIs and the like. Do this using the mechanism built into your chosen framework, e.g. $http service with Angular, $.ajax for JQuery etc.
With angular you can use AngularJS $http
Link to Angular documentation: https://docs.angularjs.org/api/ng/service/$http
I'm newbie web developer and I wonder what better and if it is a good question at all
I can retrieve the information that I need from the server side and make the template with angular, and I can do it with symfony too. whats better? whats the difference? when to use what?
what about forms? should I do it with symfony features or just with angular?
Please look the following points
You should use Angularjs template system. otherwise, the powerful feature of Directives.
Angularjs is decoupled with serverside code.
Angularjs only expects data (as JSON) from service end..not any HTML.
So template should be angularjs way.
So every service response from symfony should be JSON.
Angularjs totally avoiding to add HTML containers (through ajax) into web
pages. So here you can not use symfony template.