GVKun编程网logo

如何在Angularjs中编码一个字符串?(angularjs字符串转数字)

10

如果您对如何在Angularjs中编码一个字符串?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何在Angularjs中编码一个字符串?的详细内容,我们还将为您解答ang

如果您对如何在Angularjs中编码一个字符串?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何在Angularjs中编码一个字符串?的详细内容,我们还将为您解答angularjs字符串转数字的相关问题,并且为您提供关于AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作、angularjs – 如何创建一个Angular.js $resource / $http工厂服务来处理来自外部资源的多个参数的查询字符串?、angularjs – 如何在Angular 2中观看复杂对象,就像我们在Angular 1中使用$watch一样的有价值信息。

本文目录一览:

如何在Angularjs中编码一个字符串?(angularjs字符串转数字)

如何在Angularjs中编码一个字符串?(angularjs字符串转数字)

我使用Angularjs向我的服务器发送get http请求.服务器使用Spring MVC响应rest请求.这是我的角网址建筑上的代码片段:

var name="myname";
var query= "wo?d";
var url = "/search/"+query+"/"+name;

这里是Spring MVC Controller:

@RequestMapping( value = "/search/{query}/{name}",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE )
@ResponseBody
public List

当查询包含问号字符(?)时,我遇到了问题.该URL被拆分,以便Spring响应:
 警告o.s.web.servlet.PageNotFound – 找不到带有URI的HTTP请求的映射[/ my-server / web / search / wo在dispatcherServlet中,名称为’mvc’

这是正确的,因为问号?介绍请求参数的开头.
我试过使用js函数encodeURI(查询),但问号字符没有编码.如何在url中编码问号?
谢谢

最佳答案
Javascript为此目的具有特殊功能encodeURIComponent

encodeURIComponent escapes all characters except the following:
alphabetic,decimal digits,– _ . ! ~ * ‘ ( )

而encodeURI也不编码;,/? :@& = $#个字符.

AngularJS + JQuery:如何使动态内容在angularjs中工作

AngularJS + JQuery:如何使动态内容在angularjs中工作

我正在使用jQuery和AngularJS开发Ajax应用程序。

当我使用jQuery的html功能更新div的内容(包含AngularJS绑定)时,AngularJS绑定不起作用。

以下是我正在尝试执行的代码:

$(document).ready(function() {  $("#refreshButton").click(function() {    $("#dynamicContent").html("<button ng-click=''count = count + 1'' ng-init=''count=0''>Increment</button><span>count: {{count}} </span>")  });});</style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid {  border: 1px solid red;}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script><div ng-app="">  <div id=''dynamicContent''>    <button ng-click="count = count + 1" ng-init="count=0">        Increment      </button>    <span>count: {{count}} </span>  </div>  <button id=''refreshButton''>    Refresh  </button></div>

我在具有ID的div内包含动态内容#dynamicContent,并且具有一个刷新按钮,当单击刷新时,该按钮将更新该div的内容。如果不刷新内容,增量将按预期工作,但是刷新后,AngularJS绑定将停止工作。

这在AngularJS中可能无效,但是我最初使用jQuery构建了应用程序,后来又开始使用AngularJS,因此无法将所有内容都迁移到AngularJS。非常感谢在AngularJS中实现此功能的任何帮助。

答案1

小编典典

您需要$compile先将HTML字符串插入HTML,然后再将其插入DOM中,以便angular有机会执行绑定。

在您的小提琴中,它看起来像这样。

$("#dynamicContent").html(  $compile(    "<button ng-click=''count = count + 1'' ng-init=''count=0''>Increment</button><span>count: {{count}} </span>"  )(scope));

显然,$compile必须将其注入控制器才能正常工作。

$compile文档中阅读更多内容。

AngularJS JQuery:如何获得动态内容在angularjs中工作

AngularJS JQuery:如何获得动态内容在angularjs中工作

我正在使用一个Ajax应用程序使用jQuery和AngularJS。

当我使用jQuery的html函数更新div的内容(其中包含AngularJS绑定)时,AngularJS绑定不工作。

这是一个JSFiddle版本的我想要做的。

我有一个动态内容在一个div与ID #dynamicContent,我有一个刷新按钮,将更新此div的内容,当刷新点击。增量工作原理如果我不刷新内容,但刷新后,AngularJS绑定停止工作。

这可能不是有效的AngularJS,但我最初用jQuery构建应用程序,并开始使用AngularJS后,所以我不能迁移所有的AngularJS。任何帮助获得这工作在AngularJS非常感谢。

您需要在HTML字符串上调用$ compile,然后将其插入到DOM中,这样angular才有机会执行绑定。

在你的小提琴,它会看起来像这样。

$("#dynamicContent").html(
  $compile(
    "<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>"
  )(scope)
);

显然,$ compile必须注入到你的控制器中才能工作。

阅读更多在$compile documentation。

angularjs – 如何创建一个Angular.js $resource / $http工厂服务来处理来自外部资源的多个参数的查询字符串?

angularjs – 如何创建一个Angular.js $resource / $http工厂服务来处理来自外部资源的多个参数的查询字符串?

如何创建工厂$resource或$http服务来处理来自外部资源的具有多个任意参数的查询字符串?
例如.

#/animals
#/animals?gender=m
#/animals?color=black
#/animals?size=small
#/animals?gender=m&color=black
#/animals?size=med&gender=f
#/animals?size=lg&gender=m&color=red

该想法是存在按钮/输入,用户可以按下该按钮/输入以添加到查询字符串中的当前参数列表以获得具有不同组合的期望属性的新动物列表.
我已经尝试了以下但它没有根据需要重新加载或添加新参数到现有的URL.另外,我不确定是否应该在控制器或工厂中调用$route.current.params,如果这是最好的方法.

angular.module(Animals,['$resource','$route','$location',function($resource,$route,$location) {
  return $resource('http://thezoo.com/animals',$route.current.params,{ query: {method: 'GET',isArray: true}});
}]);

谢谢 :)

解决方法

如果在调用资源时传入的参数与URL中指定的任何占位符都不匹配,则它们会自动转换为查询字符串参数.所以你应该这样做:

angular.module(Animals,isArray: true}});
}]);

然后当你尝试使用它时,你可以这样做:

Animals.query({size:"med",gender:'f'});

它会被翻译成:

http://thezoo.com/animals?size=med&gender=f

angularjs – 如何在Angular 2中观看复杂对象,就像我们在Angular 1中使用$watch一样

angularjs – 如何在Angular 2中观看复杂对象,就像我们在Angular 1中使用$watch一样

我们能够在复杂对象上应用$watch,如何在Angular 2中进行类似操作.

角度1

$scope.data = {name : "somvalue"}
$scope.$watch('data.name',function(newValue,oldValue) {
    scope.counter = scope.counter + 1;
});

Angular 2

export class MyData{
   name: string;
} 

export class MyComponent implements OnInit {
   @input() data: MyData;

   constructor(private ds: MyService){
      this.data = ds.data;
   }

   // $watch('data.name',oldValue) {
   //   scope.counter = scope.counter + 1;
   // });
}

现在,如果data.name在服务中发生变化,如何观察组件本身的变化,请注意数据不是可观察的,它只是一个常规对象.

更新

Please see Plunk for an example

提前致谢!!

解决方法

Angular检查属性,如果它们在模板中绑定,则甚至是内部对象.

对于复杂对象,首选选项是使用Observable主动通知Angular2有关更改.

您还可以通过实施DoCheck来使用自定义更改检测

关于如何在Angularjs中编码一个字符串?angularjs字符串转数字的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作、angularjs – 如何创建一个Angular.js $resource / $http工厂服务来处理来自外部资源的多个参数的查询字符串?、angularjs – 如何在Angular 2中观看复杂对象,就像我们在Angular 1中使用$watch一样的相关信息,请在本站寻找。

本文标签: