Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么ng click无法发送带有花括号{{}的函数参数?_Javascript_Angularjs - Fatal编程技术网

Javascript 为什么ng click无法发送带有花括号{{}的函数参数?

Javascript 为什么ng click无法发送带有花括号{{}的函数参数?,javascript,angularjs,Javascript,Angularjs,我想通过调用函数发送路径,通过将路径作为函数参数发送 但是,我的控制器代码: $scope.go = function(path){ alert(path); //show the path comes in as parameter $location.path( path ); } 我的视图代码(.html) 我已经选中了{{topheading}}它正确地获得了$scope.topheading的值,但是当我使用ng单击发送此内容时,它根本没有得到任何值!警报只是

我想通过调用函数发送路径,通过将路径作为函数参数发送

但是,我的控制器代码:

$scope.go = function(path){
    alert(path); //show the path comes in as parameter
    $location.path( path );
  }
我的视图代码(.html)


我已经选中了
{{topheading}}
它正确地获得了
$scope.topheading
的值,但是当我使用
ng单击发送此内容时,它根本没有得到任何值!警报只是说
'/hotelist/?tab=packages'


有什么想法吗?为什么会发生这种情况?

首先,如果你打算在你的应用程序中经常这样做,你应该看看它会对你有多大帮助

第二,您是否尝试过让方法返回url:

<button ng-click="vm.packagesPath()"></button>

你的头条很明显在范围之内。试一试,看看它是否有效。

首先,如果你打算在应用程序中经常这样做,你应该看看它会对你有多大帮助

第二,您是否尝试过让方法返回url:

<button ng-click="vm.packagesPath()"></button>

你的头条很明显在范围之内。尝试一下,看看它是否有效。

您不能像这样发送范围变量。在ng单击中仅使用
标题

您不能像这样发送范围变量。只在ng click中使用
标题

您不需要在
ng click中使用括号
。正确的方法是:

<button ng-click="go('/hotellist/topHeading?tab=packages')"></button>

您不需要在
ngClick中使用括号。正确的方法是:

<button ng-click="go('/hotellist/topHeading?tab=packages')"></button>

试试看


试试看


试试这个

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope,$location){
$scope.topHeading=“测试”;
$scope.go=函数(路径){
console.log(路径);
}
});
试试这个

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope,$location){
$scope.topHeading=“测试”;
$scope.go=函数(路径){
console.log(路径);
}
});

在按钮上单击“尝试此项”:

<button ng-click="go('/hotellist/'+topHeading+'?tab=packages')" ></button>

在按钮上单击“尝试此项”:

<button ng-click="go('/hotellist/'+topHeading+'?tab=packages')" ></button>

它不起作用,因为该范围变量中没有值。我试过这个代码,它成功了

首先,我用另一个函数使用ng init设置了Scope变量值。然后我在ng click中使用了该值

HTML

<div ng-app="myApp" ng-controller="myCtrl" ng-init="SetScopeVariable()">
Name: <input type="button" ng-click="getPath('/hotellist/'+topHeading+'?tab=packages')">

姓名:

脚本

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.SetScopeVariable=function(){
$scope.topHeading='123';
}
$scope.getPath=function(path){
alert(path);
}
});

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.SetScopeVariable=函数(){
$scope.topHeading='123';
}
$scope.getPath=函数(路径){
警报(路径);
}
});

它不起作用,因为该范围变量中没有值。我试过这个代码,它成功了

首先,我用另一个函数使用ng init设置了Scope变量值。然后我在ng click中使用了该值

HTML

<div ng-app="myApp" ng-controller="myCtrl" ng-init="SetScopeVariable()">
Name: <input type="button" ng-click="getPath('/hotellist/'+topHeading+'?tab=packages')">

姓名:

脚本

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.SetScopeVariable=function(){
$scope.topHeading='123';
}
$scope.getPath=function(path){
alert(path);
}
});

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.SetScopeVariable=函数(){
$scope.topHeading='123';
}
$scope.getPath=函数(路径){
警报(路径);
}
});

我这样做了,但没有工作,它直接将“/hotellist/topHeading?tab=packages”作为参数发送,这是一个错误的url。我这样做了,但没有工作,它直接将“/hotellist/topHeading?tab=packages”作为参数发送,这是一个错误的url。重复?你问为什么,这可能有助于你理解重复?如果你问为什么,这可能有助于你理解+topHeading+,url字符串中的这些+和'符号至关重要。+topHeading+,url字符串中的这些+和'符号至关重要。如果有帮助,请接受答案。如果有帮助,请接受答案