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字符串中的这些+和'符号至关重要。如果有帮助,请接受答案。如果有帮助,请接受答案