如何将没有模块和控制器的Angularjs代码编写为JQuery

时间:2018-02-15 09:10:12

标签: jquery angularjs

请帮忙解释一下,如何在没有模块的情况下编写angularjs版本1 或控制器。

我曾经使用过上面的JQuery代码,请你帮我把我的Jquery源代码更新到Angularjs版本1.我的源代码是:

function checkPermission(){
  $.ajax({
      type: 'POST',
      url: 'some url her...',
      dataType: 'json',
      catche: false,
      success: function(result) {
          alert(result);
          console.log(result);
      }
 });
}
$(document).ready(function(){
  checkPermission();
});
$(document).on('click',function(event){

  console.log(".....");
});

谢谢!

2 个答案:

答案 0 :(得分:0)

你问的是不可能的,问题是我想要angularjs没有modulecontroller或者这个框架的其他选择?

Angularjs是一个强大的框架,如果你学习它,你会忘记jQuery或至少你会在你的应用程序中使用它的1%。

其他语言angularjs没有moduleservicefactory以及许多其他功能等于jQuery

答案 1 :(得分:0)

如果你使用Angular.js,你将需要一个模块和控制器。如果你想让它看起来像JQuery,那就改用JQuery。

要将您的应用程序编写为角度应用程序,在导入JavaScript后,您需要声明将要使用的模块。在像你这样的简单应用程序中,在html元素上执行此操作是正常的。 html标签内的所有内容都是您的应用。

<html ng-app="testApp">

此应用必须在您的JavaScript中定义。

var app = angular.module('testApp', []);

接下来,您需要定义将保存自定义代码的控制器。如果你想使用Angular.js,就无法解决这个问题。控制器连接到元件,其中的所有内容都由控制器处理。我还添加了一个按钮来运行你的点击事件。

<body ng-controller="MainCtrl">
  <button ng-click="onClick()">Click me</button>
</body>

控制器已添加到JavaScript中的应用中。我需要注入$ http模块才能发出http请求。

app.controller('MainCtrl', function($scope, $http) {

  $http.post('some url here...', {body: 'body data'})
  .then(function(result) {
    console.log(result.data)
  })
  .catch(function (err) {
    console.log(err)
  })

  $scope.onClick = function () {
    console.log('.....');
  }
});

这是一个有效的演示:

https://embed.plnkr.co/1ZUdAY58loT3dYJLXVNR/

这是作为角度应用程序运行的代码的最简单的工作示例。我建议你通过一个教程来学习基础知识。尽管W3schools声名狼借,但他们的Angularjs教程非常擅长掌握基础知识:

https://www.w3schools.com/angular/default.asp

除非您有特殊原因需要Angularjs,否则您应该考虑学习Angular。按照此处的“使用入门”说明进行操作:https://angular.io/