Javascript Angular JS:占位符未得到解析
我的angular js代码没有解析占位符,而我正试图在运行时解析占位符 Js代码:Javascript Angular JS:占位符未得到解析,javascript,angularjs,Javascript,Angularjs,我的angular js代码没有解析占位符,而我正试图在运行时解析占位符 Js代码: var message ={s:"hello {{name}}"}; angular.module("myapp",[]).controller("myctrl", function($scope){ var ctrl=this; $scope.name="david"; $scope.w=message.s; $scope.call=function(){ //alert(me
var message ={s:"hello {{name}}"};
angular.module("myapp",[]).controller("myctrl", function($scope){
var ctrl=this;
$scope.name="david";
$scope.w=message.s;
$scope.call=function(){
//alert(message);
};
});
HTML:
<div ng-app="myapp">
<div ng-controller="myctrl as ctrl">
{{w}}
<input type="text" ng-model="ctrl.name" />
<input type="submit" ng-click="call();" />
</div>
</div>
{{w}
预期输出为:hello david
附加小提琴链接:您将控制器的语法和
$scope
混为一谈。将控制器用作语法时,必须使用this
关键字,而不是$scope
JS
var message ={s:"hello "};
angular.module("myapp",[]).controller("myctrl",function(){
var ctrl = this;
ctrl.name ="david";
ctrl.w = message.s;
ctrl.call = function(){
//alert(message);
};
});
HTML:
<div ng-app="myapp">
<div ng-controller="myctrl as ctrl">
{{ctrl.w}}{{ctrl.name}}
<input type="text" ng-model="ctrl.name" />
<input type="submit" ng-click="call();" />
</div>
</div>
{{ctrl.w}{{ctrl.name}
演示:
<div ng-app="myapp">
<div ng-controller="myctrl as ctrl">
{{ctrl.w}}{{ctrl.name}}
<input type="text" ng-model="ctrl.name" />
<input type="submit" ng-click="call();" />
</div>
</div>
有关控制器作为语法的更多信息:您将控制器作为语法和
$scope
混合使用。将控制器用作语法时,必须使用this
关键字,而不是$scope
JS
var message ={s:"hello "};
angular.module("myapp",[]).controller("myctrl",function(){
var ctrl = this;
ctrl.name ="david";
ctrl.w = message.s;
ctrl.call = function(){
//alert(message);
};
});
HTML:
<div ng-app="myapp">
<div ng-controller="myctrl as ctrl">
{{ctrl.w}}{{ctrl.name}}
<input type="text" ng-model="ctrl.name" />
<input type="submit" ng-click="call();" />
</div>
</div>
{{ctrl.w}{{ctrl.name}
演示:
<div ng-app="myapp">
<div ng-controller="myctrl as ctrl">
{{ctrl.w}}{{ctrl.name}}
<input type="text" ng-model="ctrl.name" />
<input type="submit" ng-click="call();" />
</div>
</div>
有关控制器语法的更多信息:您可以尝试以下方法。当您试图从模块外部访问范围时,我认为这是不可能的
{{w}
var message={s:“hello”};
angular.module(“myapp”,[]).controller(“myctrl”,函数($scope){
var ctrl=this;
$scope.text=消息;
$scope.name=“david”;
$scope.w=$scope.text.s+''+$scope.name;
$scope.call=function(){
//警报(信息);
};
});
您可以像下面这样尝试。当您试图从模块外部访问范围时,我认为这是不可能的
{{w}
var message={s:“hello”};
angular.module(“myapp”,[]).controller(“myctrl”,函数($scope){
var ctrl=this;
$scope.text=消息;
$scope.name=“david”;
$scope.w=$scope.text.s+''+$scope.name;
$scope.call=function(){
//警报(信息);
};
});
你必须只在模板中使用{{name}
(插值)你必须只在模板中使用{{name}
(插值)根据我的实际业务情况,这对我没有帮助,我需要显示不同的消息,并且我需要在消息中填充不同的属性。有哪些不同的消息和属性?尝试解释相同的内容。请参阅您可以使用ctrl.message={s:“hello”+“+ctrl.name};如果这就是你想要的,我想做的是,我想把错误消息保存在一个单独的js文件中,这样我就可以直接在我的页面上获取,但是消息需要response的值,$scope variables,所以我想采用这种方法。根据我的实际业务场景,这对我没有帮助,我需要显示不同的消息,并且我需要在消息中填充不同的属性。有哪些不同的消息和属性?尝试解释相同的内容。请参阅您可以使用ctrl.message={s:“hello”+“+ctrl.name};如果这就是你想要的,我想做的是,我想把错误信息保存在一个单独的js文件中,这样我就可以直接在我的页面上获取,但是这些信息需要响应的值,$scope variables因此希望采用这种方法。这不会有什么帮助,因为我看到一个大消息字符串,它需要介于两者之间的占位符,一旦响应来自api,这些占位符将被解析,然后被分配为scope variables。这样,您就可以保留“消息”模块中的变量对我来说似乎没有多大用处。很抱歉,我误解了您的要求,好像您要求使用ngMessage。我想将message变量保存在单独的js域中,然后将{{}表达式,并在运行时/呈现时解析它们。这不会有帮助,因为我正在生成一个大消息字符串,它需要介于两者之间的占位符,一旦响应来自api,这些占位符将被解析,然后分配为作用域变量。这样,您就可以保留“消息”模块中的变量对我来说似乎没有多大用处。抱歉,我误解了您的要求,好像您要求使用ngMessage。我想将消息变量保存在单独的js域中,然后只放置{{}}表达式,并在运行时/渲染时解析它们。