2015-12-14 34 views
0

我現在正在做一些任務在angularjs和coffeescript。我有一個要求,如:我有一個像夫婦在我的html頁面的按鈕:如何使用angularjs或coffeescript在ng-click上重定向到另一個頁面?

<div> 
    <button type="button" class="btn btn-default" ng-click="button1();">Button1</button> 
    <button type="button" class="btn btn-default" ng-click="button2();">Button2</button> 
</div> 

如果我點擊Button1的,那麼它應該重定向到另一個頁面(如:「/test1.html」),同樣,如果我點擊Button2,那麼它應該重定向到另一個頁面(如:'/test2.html')。 我如何在AngularJS/CoffeeScript中做到這一點?

如果我在我的CoffeeScript文件做,我收到以下錯誤:

app = angular.module('myApp', dependencies) 
app.controller 'WizardController', [ 
    '$scope', 
    ($scope) -> 
    $scope.button1 = -> 
    window.location = '/test1.html' 
    return 

    $scope.button2 = -> 
    window.location = '/test2.html' 
    return 
    ] 

但在return語句給編譯錯誤:編譯錯誤:行103解析錯誤:意外的「終結者」

回答

3

你可以從你的HTML頁面重定向直:

<div> 
    <button type="button" class="btn btn-default" ng-href="/test1.html">Button1</button> 
    <button type="button" class="btn btn-default" ng-href="/test1.html">Button2</button> 
</div> 

或者在你的代碼,你應該刪除「;」從

ng-click

爲:

<div> 
    <button type="button" class="btn btn-default" ng-click="button1()">Button1</button> 
    <button type="button" class="btn btn-default" ng-click="button2()">Button2</button> 
</div> 

我也會檢查縮進你的CoffeeScript,因爲它往往是一個有點模糊。

app = angular.module('myApp', dependencies) 
app.controller 'WizardController', [ '$scope', '$location', 
($scope, $location) -> 
    $scope.button1 = -> 
    $location.path('/test1.html') 

    $scope.button2 = -> 
    $location.path('/test2.html') 
] 
+1

ng-href是一個很好的解決方案,但需要注意:不要在使用angular時使用window.location,只需使用$ location。 – Amit

+0

嗨,大家好,我已經像上面那樣做了,但是我仍然收到錯誤(在$ location.path行):解析第218行的錯誤:意外的'INDENT'並且如果添加ng-href,它也不能正常工作。 – Dhana

+1

正如我在我的文章中所說,縮進在咖啡標記中非常重要。檢查我的編輯js文件,也在你的文件中,選擇全部,然後將縮進轉換爲空格。 – Jax

相關問題