Javascript Angular 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

我的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(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域中,然后只放置{{}}表达式,并在运行时/渲染时解析它们。